У меня есть коллекция объектов и команда в моей ViewModel.
Я хочу отобразить гиперссылку для каждого из объектов в коллекции и установить команду каждой гиперссылки на ту же команду, передача objectID в качестве 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, который он ищет?