1

我对 wpf 和这个网站还很陌生。如果我表现出一些错误,请给我一些怜悯。

我的 HierarchicalDataTemplate 是我的树视图项,它由多个组件组成:两个文本块、图像和复选框,以及一些用于布局的堆栈面板。我的 MouseEventHandler 是 TreeViewItem.Selected,它是在用户单击文本框、图像或复选框时捕获的。但是当我单击这些组件之间的微小空间时,它不会触发 TreeViewItem.Selected。

我最初的想法是,我可能需要在堆栈面板上指定用于 HierarchicalDataTemplate 布局的事件处理程序。但是,即使我专门在堆栈面板上制作了事件处理程序,它也没有引发事件。

你能给我一些指导吗?

附言。我对 IsSelected 属性使用了绑定,但它从未通知更改其属性

4

1 回答 1

1

Background="Transparent"您的HierarchicalDataTemplate.

以下 Grid 不会引发 MouseLeftButtonDown 事件:

<Grid MouseLeftButtonDown="handler" Width="200" Height="200">
</Grid>

但以下是:

<Grid MouseLeftButtonDown="handler" Width="200" Height="200" Background="Transparent">
</Grid>

这是因为在第一种情况下,它没有背景,也没有什么可以引发 MouseLeftButtonDown 事件。因此,仅当用户单击该网格内的某个元素时才会引发该事件。

于 2012-05-12T07:05:45.083 回答