1

我无法让我的绑定工作。我的 ActiveView 有一个 ListView (x:Name="MyListView") 以及一个视图模型,因为它是数据上下文。

我有以下 RibbonButton (RibbonControlLibrary):

<r:RibbonButton Label="Update Software" 
    LargeImageSource="/Ganymed.App.UI;component/Images/plain-update.png"
    Command="{Binding ActiveView.DataContext.UpdateSoftwareCommand}"
    CommandParameter="{Binding ActiveView.MyListView.SelectedItems}"/>

命令绑定本身工作正常。但我无法让 CommandParameter 工作。我想将 ActiveView 的 ListView 的选定项目一起发送,以决定是否启用该命令。绑定 CommandParameter 时是否遗漏了什么?

为了澄清结构:

MainWindow.xaml(包含 RibbonButton,DataContext = MainWindowViewModel)

MainWindowViewModel.cs 包含属性 ActiveView

ActiveView(包含 MyListView,DataContext = ActiveViewViewModel)

ActiveViewViewModel.cs 包含 UpdateSoftwareCommand

任何帮助都会很棒。谢谢

4

1 回答 1

1

一种可能性:

 CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type r:RibbonButton}}, Path=SelectedItems}"

另一个,您可以将一个属性 SelectedItems 添加到您的 ViewModel,绑定它并使其始终同步并准备好执行命令

于 2012-03-16T21:11:59.670 回答