【发布时间】:2010-03-04 11:14:25
【问题描述】:
我有一个 WPF 列表视图,在一列中,单元格可能包含一个或多个列表框。
当我右键单击 ListBox 时,我正在构建一个上下文菜单,其中每个项目都有一个 DelegateCommand。目前我正在将命令参数设置为页面视图模型本身的 SelectedListBox 属性,因为我的委托命令需要知道哪个 ListBox 已被右键单击。
但这会导致奇怪的行为,我假设这是因为我将多个 ListBox 绑定到同一个页面级属性 (SelectedListBox)。
列表视图的单元格模板的相关XAML如下:
<DataTemplate x:Key="MultipleListBoxCellTemplate">
<ListBox SelectedItem="{Binding Path=DataContext.SelectedListBox, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Page}}}" />
</DataTemplate>
有没有更好的方法来获取哪个 ListBox 已被右键单击到我的视图模型,或者任何人都可以想到另一种方法?非常感谢:)
【问题讨论】:
标签: wpf mvvm listbox viewmodel