触发ListView中特定项目的单击事件

时间:2016-09-03 16:28:39

标签: c# wpf

我有一个ListView,列表中的每个项目都与一个事件相关联:MouseLeftButtonDown,此事件称为一个方法,它会显示所点击项目的一些细节。

现在我想要实现的是通过选择代码背后的项来触发此事件。假设在listview中我有这个项目:

Foo
Foo2

Foo2存储在一个对象变量中。我做了什么:

object currentItem = "Foo2";
MyList.SelectedItem = currentItem;

通过选择代码背后的项目,无法触发MouseLeftButtonDown的问题。 我需要的是在变量MouseLeftButtonDown中包含的ListViewItem上点currentItem,当然,列表MyList也可以使用。{/ p>

这可能吗?感谢。

2 个答案:

答案 0 :(得分:1)

也许您应该使用 listView_SelectionChanged 事件来处理您的数据。

答案 1 :(得分:0)

所选项目是否包含您要显示的所有信息?如果是这样,您只需将显示其他信息的元素直接绑定到ListBox.SelectedItem的属性即可。如果您不希望在选择项目之前显示元素,请使用NullToVisibilityConverter将包含元素的面板的可见性绑定到ListBox的SelectedItem属性(在StackOverflow上多次提及)。

通过这种方式,您可以在UI上获得完全声明性的视图,从而大大降低了代码背后的复杂性。