2017-04-22 6 views

答えて

1

あなたは、単にツールバーのハンドラダウンプレビューマウスを定義する必要があります...

 <ToolBar Name="toolBar1" ToolBarTray.IsLocked="False" PreviewMouseDown="toolBar1_PreviewMouseDown" > 
      <Menu ToolBar.OverflowMode="AsNeeded"> 
       <MenuItem Header="File" /> 
       <MenuItem Header="New" /> 
      </Menu> 
     </ToolBar> 

、あなたはどの実装制御である親指の上にあるかどうかを判断するためにヒットテストを行いますグリップ...

private void toolBar1_PreviewMouseDown(object sender, MouseButtonEventArgs e) 
    { 
     if (e.ChangedButton == MouseButton.Left) 
     { 
      Point p = e.GetPosition(toolBar1); 
      IInputElement ie = toolBar1.InputHitTest(p); 
      Thumb t = GetParent<Thumb>(ie as DependencyObject); 
      if(t != null) 
      { 
       // we have clicked on the grip... 
      } 

     } 

    } 
    private T GetParent<T>(DependencyObject d) where T : class 
    { 
     while (d != null && !(d is T)) 
     { 
      d = VisualTreeHelper.GetParent(d); 
     } 
     return d as T; 

    } 
+0

おかげで1つの場所からツールバーをドラッグ – Ahmad

+0

uは、依存関係オブジェクトがツールバーにジャストグリップです教えてくださいできますか? – Ahmad

+0

依存オブジェクトはMVVMの非常に基本的な要素です。グリップは多くの他の多くのものと同様に依存オブジェクトです。 – AQuirky

関連する問題