2009-03-09 13 views
3

私はBluをテストしており、私はウィンドウをドラッグできることに気付きました。このウィンドウは透過的です。私はThumbで同じことをしようとしましたが、透明にする方法はわかりません。ウィンドウの残りは透明ですが、親指は透明ではありません。親指でwpfウィンドウをドラッグ:透明にすることはできますか?

親指を透明にする方法はありますか、別の方法を使用する必要がありますか?

私はこのイベントを使用します。

private void DragThumb_DragDelta(object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e) 
    { 
     Canvas.SetLeft(this, Canvas.GetLeft(this) + e.HorizontalChange); 
     Canvas.SetTop(this, Canvas.GetTop(this) + e.VerticalChange); 
    } 

はあなた

答えて

5

ない私が正しくあなたの質問を理解してくださいありがとうございますが、WPFのウィンドウをドラッグして、あなたがのクリックイベントハンドラを入力する必要があるすべてのコンポーネント(またはフォーム自体)は次のとおりです。

this.DragMove(); 

自分でドラッグ機能を実装する必要はありません。


更新:小さな例:ウィンドウを作成し、ボタンを配置します。ワイヤーウィンドウのMouseDownイベントととして、ボタンのClick:完全

private void Window_MouseDown(object sender, MouseButtonEventArgs e) 
{ 
    this.DragMove(); 
} 
private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show("hey"); 
} 

作品は、ウィンドウをドラッグすることができ、そしてボタンが機能し続けて...

+0

感謝。私はそれが解決策になると思う。 mousemove + leftbuttonをグリッドで押してみると、部分的に機能しました。ウィンドウのボタンが機能しなくなりました。実例がありますか? –

+0

クイックテストをしましたが、すべてがここで働いています...私の元の答えを小さな例で見てください。 –

+0

マウスの動きを検出することが1つあります。別のものは、実際のドラッグ機能、特に 'DragDeltaEventArgs'の' VerticalChange'と 'Horizo​​ntalChange'値です。ドラッグを処理する必要がある場合は、「Thumb」が別の答えに記載されているように不透明度を0に設定する方法です。 – heltonbiker

8

あなたは目に見えない、親指制御を有効にすることができますOpacity属性を使用します。

不透明度= "1"(全可視)

または

不透明度= "0"(見えない)

サンプル自分のアプリケーションからの答えトムのための

 <Thumb Name="myThumb" 
       Width="10" 
       Height="10" 
       DragDelta="onDragDelta" 
       DragStarted="onDragStarted" 
       DragCompleted="onDragCompleted" 
       Margin="5" 
       HorizontalAlignment="Right" 
       Opacity="1"> 

     </Thumb> 
関連する問題