У меня есть коллекция объектов и команда в моей ViewModel.
Я хочу отобразить гиперссылку для каждого из объектов в коллекции и задать для каждой команды гиперссылки одну и ту же команду, передавая идентификатор объекта в качестве CommandParemeter.например,
// View Model
public class MyViewModel : ViewModelBase
{
// Raises PropertyChanged event, ommited here
public List<MyClass> MyList {....}
public RelayCommand<int> MyCommand {....}
}
Я установил DataContext моего UserControl в вышеупомянутый класс ViewModel.XAML для этого UserControl выглядит следующим образом:
<UserControl>
<ItemsControl ItemsSource="{Binding Path=MyList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding Path=Description}" Command="{Binding Path=MyCommand}" CommandParameter="{Binding Path=MyClassID}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</UserControl>
Описание для содержимого гиперссылки отображается правильно, но команда никогда не запускается, я думаю, это потому, что она ищет команду в объекте MyClass?
Как связать данные с UserControls DataContext.MyCommand, а не с MyClass.MyCommand, которую он ищет?