मैं अपने मेनूमेट के आइटम्ससोर्स को अपने व्यू मॉडेल में एक अवलोकन करने योग्य चयन में बाध्य कर रहा हूं।मैं मेनूइटम को गतिशील रूप से बाध्य और स्थिर रूप से कैसे जोड़ूं?
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
इस भाग अच्छा काम करता है, लेकिन अब मैं भी एक ही दृश्य MenuItem करने के लिए कुछ स्थिर MenuItems, एक विभाजक के साथ अलग जोड़ना चाहते हैं: यहाँ मेरी XAML है। ऐसा कुछ, भले ही मुझे पता है कि यह काम नहीं करेगा क्योंकि मैं वस्तुओं को दो बार सेट नहीं कर सकता।
<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>
अभी के लिए मैं इस तरह MenuItem के लिए एक और स्तर को जोड़कर एक काम बनाया है चारों ओर:
<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>
यह ठीक काम करता है, लेकिन मैं नहीं बल्कि पर यदि सभी संभव एक उप मेनू की जरूरत नहीं होगी । ओह, और मैं इसे पीछे कोड के बजाय xaml में भी करना पसंद करूंगा। कोई विचार?
शायद तुम CompositeCollection उपयोग कर सकते हैं "एकजुट" करने के लिए अपने आपके एक्सएएमएल परिभाषित संग्रह के साथ वीएम से संग्रह। –