Q119. ビューモデルの状況に応じて動的にメニュー構成を変更したい

A.DataTrigger を使って、MenuItem.ItemsSource の中身をごっそり入れ替えてしまうという手があります。これならコードビハインドは不要です。


例えば以下のようなメニュー構成になっているとします。


これを状況により以下のような構成にしたり


こんな構成にしたい!


コードビハインドで動的にコレクションを操作してもいいのですが、せっかく WPF を使ってるのだからできれば XAML だけで勝負したい。そんな場合 DataTrigger を使い MenuItem の ItemsSource の中身を入れ替えてしまえば簡単です。



以上、何かの参考になれば幸いです。


WPF FAQ の目次に戻る