WPF DataBinding (CommandParameter не работает) - PullRequest
1 голос
/ 16 марта 2012

Я не могу получить привязку к работе. Мой 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 работать. Я хочу отправить выбранные элементы в ListView ActiveView, чтобы решить, следует ли включить команду. Я что-то упускаю при привязке CommandParameter?

Для уточнения структуры:

MainWindow.xaml (содержит RibbonButton, DataContext = MainWindowViewModel)

MainWindowViewModel.cs содержит свойство ActiveView

ActiveView (содержит MyListView, DataContext = ActiveViewViewModel)

ActiveViewViewModel.cs содержит команду UpdateSoftwareCommand

Любая помощь будет великолепна. Спасибо

1 Ответ

0 голосов
/ 17 марта 2012

Одна возможность:

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

Другое, вы можете просто добавить свойство SelectedItems в вашу ViewModel, связать его и иметь его всегда синхронизированным и готовым для работы команды на

...