【发布时间】:2015-08-02 02:06:51
【问题描述】:
我在 WPF 应用程序中有一个 TreeView。如下。
<TreeView x:Name="documentOutlinePanel">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="TreeViewItem.MouseLeftButtonDown" Handler="TreeViewItem_MouseLeftButtonDown"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
这里是事件的处理程序,它存在于代码隐藏文件中
private void TreeViewItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
// some code.
}
我还处理两个HierarchicalDataTemplate 用于可以在TreeView 控件中的项目。
TreeView 的项目是有界的,通过设置TreeView 的ItemsSource 属性。
问题 MouseLeftButtonDown 的处理程序根本不执行。
我在这个方法的处理程序的开头设置了一个断点,并且断点根本没有命中。
但是,只是为了通知。
PreviewMouseLeftButtonDown 正在触发,我可以处理它(这个事件对我来说并不重要)
谁能向我解释为什么MouseLeftButtonDown 没有被解雇?
有什么建议让它着火吗?
更新:这个问题与MouseLeftButtonDown is not fired on TreeViewItem没有重复
我看到了那个问题及其答案,但它不适合我。这是区别
- 这个问题是针对 SliverLigth 的,我的问题是针对 WPF 的。
- 那个问题是处理
TreeView.MouseLeftButtonDown和我的处理TreeViewItem.MouseLeftButtonDown。 - 我阅读了该问题的答案,但对我没有任何帮助
【问题讨论】:
-
不是它不是重复的。我看到了这个问题及其答案,但它不适合我。这是区别1-该问题针对SliverLigth,而我针对WPF。 2-那个问题是处理 TreeView.MouseLeftButtonDown 和我的处理 TreeViewItem.MouseLeftButtonDown。 3- 我阅读了该问题的答案,但对我没有任何帮助,谢谢。