項目のコレクションを含む MenuItem があります。File -> Open Menuitem のように見えます。
そう:
- ファイル
- 開ける
- データベースから開く
- ファイル 1
- ファイル 2
- ファイル 3
- データベースから開く
- 開ける
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);
}
}
明確にするために: ユーザーが MenuItem のアイテム (ItemsSource から) をクリックすると、クリックしたアイテムで何かをしたい場所で Command を呼び出す必要があります。
編集: ViewModel でメソッド (RelayCommand) を呼び出すコマンドをどこで使用する必要がありますか? ItemsSource のアイテムがクリックされたときに使用したい + クリックされたアイテムをメソッドに渡したい。