У меня есть MenuItem, в котором есть коллекция элементов. Он выглядит как File -> Open Menuitem.Связать элементы с MenuItem -> use Command
Итак:
- Файл
- Открыть
- Открыт DataBase
- Файл 1
- Файл 2
- Файл 3
- Открыт DataBase
- Открыть
XAML Код:
<Menu>
<MenuItem Header="File">
<MenuItem Header="Open">
<MenuItem Header="From Database" ItemsSource="{Binding OCFragebogen}"/>
</MenuItem>
</MenuItem>
</Menu>
Я хочу, чтобы вызвать команду, когда конкретный пункт был щелкнул. Пример: Пользователь нажимает на файл 1, следует вызывать команду, где «Файл 1» является параметром команды.
ViewModel содержит детали, которые я хочу, чтобы отобразить в «коллекции» MenuItem
private ObservableCollection<string> _OCFragebogen;
public ObservableCollection<string> OCFragebogen
{
get
{
if (_OCFragebogen == null)
_OCFragebogen = new ObservableCollection<string>();
return _OCFragebogen;
}
set
{
_OCFragebogen = value;
RaisePropertyChanged(() => OCFragebogen);
}
}
Чтобы сделать это ясно: Когда пользователь нажимает на элемент (от ItemsSource) в MenuItem, команда следует назвать там, где я хочу что-то сделать с нажатым элементом.
Редактировать: Где мне нужно использовать команду для вызова метода (RelayCommand) в моей модели ViewModel? Я хочу, чтобы он использовался, когда был выбран элемент из элемента ItemsSource +. Я хочу передать выбранный элемент методу.
И ваш вопрос/вопрос? – DHN
Я не знаю, где я должен использовать команду, и как я могу передать щелкнутый элемент в команду с помощью 'CommandParameter'. В настоящее время я использую 'Command' в MenuItem с заголовком« Из базы данных », но он не вызывается этой командой, так как я нажимаю на Item из ItemsSource. – Rudi