wpf treeView新增右擊事件
剛開始接觸WPF,今天學習了下treeView控制元件,右擊新增事件。
看了很多網上大牛的東西,終究是搞懂了。
效果圖如下:
Xmal部分:
<TreeView Name="DataTreeView" Margin="1" Grid.Column="0" Grid.Row="4" PreviewMouseRightButtonDown="DataTreeView_PreviewMouseRightButtonDown">
程式碼部分:
#region TreeView 右擊事件t
//右®¨°擊¡Â事º?件t
privatevoid DataTreeView_PreviewMouseRightButtonDown(object
{
vartreeViewItem = VisualUpwardSeach<TreeViewItem>(e.OriginalSourceas DependencyObject)as TreeViewItem;
//vartreeViewItem = sender as TreeViewItem;
if(treeViewItem != null)
{
treeViewItem.ContextMenu =GetItemRightContextMenu();
treeViewItem.Focus();
e.Handled = true;
}
}
static DependencyObject VisualUpwardSeach<T>(DependencyObject source)
{
while(source !=null&&source.GetType()!=typeof(T))
{
source = VisualTreeHelper
}
returnsource;
}
//右®¨°鍵¨¹上¦?下?文?菜?單Ì£¤
ContextMenuGetItemRightContextMenu()
{
ContextMenumenu = new ContextMenu();
MenuItemmenuItem = new MenuItem();
menuItem.Header = "菜?單Ì£¤";
menuItem.Click += new RoutedEventHandler(menuItem_Click);
menu.Items.Add(menuItem);
returnmenu;
}
voidmenuItem_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(“OK”);
}
#endregion