我是一个WPF事件的问题。假设我有一个底层数据模型和一个树视图来表示数据。我想要做的最简单的事情是,当我点击一个项目时,我会对与该项目相关的底层数据做一些事情。
我尝试使用Textblock
的MouseLeftButtonDown
事件,但是发送者对象只是Textblock
本身,我无法访问底层数据。
现在我还尝试使用TreeViewItem
的MouseLeftButtonDown
事件,如下所示:
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="MouseLeftButtonDown" Handler="itemClicked"/>
</Style>
</TreeView.ItemContainerStyle>
但我没让训练员打来电话。
那么我到底该怎么做呢?有没有某种标准的方法?
发布于 2013-05-16 23:18:48
MouseLeftButtonDown事件是一个冒泡事件,它是在我的猜测选择器的路由中处理的。您可以使用snoop查看谁处理了该事件。使用PreviewMouseLeftButtonDown/SelectedItemChanged或在您的情况下使用MouseDoubleClick将解决问题。
<TreeView>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="MouseDoubleClick"
Handler="itemDoubleClicked"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
https://stackoverflow.com/questions/16584627
复制相似问题