C# 仅通过XAML将上下文菜单添加到树视图
尝试仅使用xaml代码将上下文菜单添加到C# 仅通过XAML将上下文菜单添加到树视图,c#,wpf,treeview,contextmenu,C#,Wpf,Treeview,Contextmenu,尝试仅使用xaml代码将上下文菜单添加到TreeView 电视节目 第一季 第n季 只有在右键单击季节节点时,关联菜单才会显示 可能吗?我知道如何用代码隐藏来解决这个问题,但我想学习如何使用WPF。我很难确定是否只使用xaml就能解决这个问题 当前xaml: <TreeView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding TvShows}" x:Name="TvSh
TreeView
- 电视节目
- 第一季
- 第n季
<TreeView
Grid.Row="1"
Grid.Column="0"
ItemsSource="{Binding TvShows}" x:Name="TvShowsTreeView"
SelectedItemChanged="TvShowsTreeViewOnSelectedItemChanged">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="tvShows:TvShow" ItemsSource="{Binding Seasons}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
尝试使用
HierarchycalDataTemplate
的ItemTemplate
属性。应该是这样的:
<HierarchicalDataTemplate DataType="tvShows:TvShow" ItemsSource="{Binding Seasons}">
<TextBlock Text="{Binding Name}" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate DataType="TypeOfSeasonInYourApplication">
<TextBlock Text="{Binding Name}">
<TextBlock.ContextMenu>
<ContextMenu>
<!-- Place MenuItems here -->
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
实际上我自己没有测试过,所以请让我知道这是否有效。你是如何构建这棵树的?通过使用分层数据模板?发布您当前的XAML。@HighCore,添加了XAML。也有一些“尝试”上下文菜单,但它还没有导致太多,所以我暂时把它忽略了,希望从中找到一些有意义的东西:)不,不完全:属性“VisualTree”不支持“DataTemplate”类型的值。嗯,奇怪的是,在我的例子中,它曾经起作用。根据您编写的错误消息,我只能建议您仔细检查是否将
DataTemplate
放在ItemTemplate
属性中,而不是放在HierarchicalDataTemplate
本身中(这肯定行不通)。