私は自分のMenuItemのItemsSourceをViewModelのObservableCollectionにバインドします。ここに私のXAMLは次のとおりです。どのように動的にバインドし、静的にMenuItemを追加しますか?
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
この部分は素晴らしい作品が、今私はまた、セパレータで分離された同じビューのMenuItemにいくつかの静的のMenuItemを追加します。私はアイテムを2回設定することができないので、これがうまくいかないことは分かっていますが、このようなものです。
<MenuItem Header="_View">
<MenuItem Header="Windows"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
<MenuItem Header="Load Layout" />
<MenuItem Header="Save Layout" />
</MenuItem>
これは正常に動作しますが、全く可能であれば私はむしろ、サブメニューを持っていないと思います。今、私はこのようなのMenuItemに別のレベルを追加することによって、周りの仕事を作成しているために
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
<Separator />
<MenuItem Header="item 1" />
<MenuItem Header="item 2" />
</MenuItem>
。ああ、私はまた、コードの背後にあるxamlでこれを行うことを好むだろう。何か案は?
たぶん、あなたはあなたの "統一" するCompositeCollectionを使用することができますXAMLで定義されたコレクションを持つVMからのコレクション。 –