我使用了一个树视图控件,可以通过鼠标点击在wpf项目中进行交互。我的treeview有一个分层模板,可以从datacontext获取数据。
<TreeView x:Name="bolumler" ItemsSource="{Binding}" Margin="-282,7,618,206" Grid.RowSpan="3">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}" DataType="{x:Type local:SectionEntity}">
<TreeViewItem Header="{Binding Text}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
它正确显示了wpf treeview控件中的分层数据。但我无法绑定鼠标点击事件。它没有处理任何事件。请问您能在wpf treeview中使用分层模板为鼠标事件提供任何稳定的示例吗?
答案 0 :(得分:2)
在项目模板中使用Textblock元素。之后,您可以轻松访问treeview上的SelectedItemChanged事件。
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}" DataType="{x:Type local:SectionEntity}">
<TextBlock Text="{Binding Text}"></TextBlock>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
答案 1 :(得分:0)
在TreeView中使用SelectedItemChanged事件:
<TreeView Name="trvParameters" SelectedItemChanged="trvParameters_SelectedItemChanged">
<DataTemplate DataType="{x:Type local:Test}">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</TreeView>
事件处理程序:
private void trvParameters_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
// e.NewValue contains selected item
}