ich verbindlich die Itemssource meiner MenuItem zu einem ObservableCollection in meinem Viewmodel. Hier ist meine XAML:Wie kann ich MenuItems dynamisch binden und statisch hinzufügen?
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
Dieses Teil funktioniert großartig, aber jetzt auch ich möchte einige statische MenuItems auf die gleiche Ansicht MenuItem hinzufügen, mit einem Separator getrennt. So etwas, obwohl ich weiß, dass das nicht funktioniert, weil ich die Gegenstände nicht zweimal einstellen kann.
<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>
Denn jetzt habe ich eine Arbeit um erstellt eine andere Ebene der MenuItem wie folgt ergänzt:
<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>
Dies funktioniert gut, aber ich möchte lieber nicht ein Untermenü, wenn überhaupt möglich haben . Oh, und ich würde es auch lieber in XAML statt Code hinter machen. Irgendwelche Ideen?
Vielleicht können Sie Composite verwenden, um "zu vereinigen" Ihre Sammlung von der VM mit Ihrer XAML-definierten Sammlung. –