Каждый FrameworkElement
имеет свойство ContextMenu
. Просто добавьте к нему MenuItem
элементов:
MainWindow.xaml
<Window>
<Window.Resources>
<ContextMenu x:Key="TreeViewItemContextMenu">
<MenuItem Header="Save" Click="OnSaveItemClicked"/>
</ContextMenu>
</Window.Resources>
<TreeView>
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="ContextMenu" Value"{StaticResource TreeViewItemContextMenu}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<Window>
MainWindow.xaml.cs
partial class MainWindow
{
private void OnSaveItemClicked(object sender, RoutedEventArgs e)
{
var item = (sender as MenuItem).DataContext; // TODO: Cast to data type
Save(item);
}
}