我有一个绑定到 MVVM 可观察集合的 TreeView。我的项目模板由图像和文本块组成,如下代码所示:
<HierarchicalDataTemplate x:Key="TreeViewItemTemplate" ItemsSource="{Binding Items, Mode=OneWay, NotifyOnSourceUpdated=True}">
<TreeViewItem>
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Image
Margin="-20,0,5,0"
Source="{Binding Icon, Converter={StaticResource TreeViewIconConverter}, Mode=OneWay}"
Style="{DynamicResource SmallIcon}"/>
<Label Content="{Binding Label}"/>
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
</HierarchicalDataTemplate>
当您单击一个项目时会出现问题。如果鼠标光标位于 StackPanel 上,则不会进行选择。我还包括了一个屏幕截图,以使这一点更清楚。
当然,这是因为 StackPanel 现在位于选择区域上方。
有什么解决方法吗?