Tôi đang ràng buộc ItemsSource của MenuItem của tôi với một ObservableCollection trong ViewModel của tôi. Dưới đây là XAML của tôi:Làm cách nào để liên kết động và thêm tĩnh MenuItem?
<MenuItem Header="_View"
ItemsSource="{Binding Windows}">
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header"
Value="{Binding Title}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
phần này hoạt động tuyệt vời, nhưng bây giờ tôi cũng muốn thêm một số MenuItems tĩnh với cùng Xem MenuItem, cách nhau bằng một dấu phân cách. Một cái gì đó như thế này, mặc dù tôi biết điều này sẽ không làm việc vì tôi không thể thiết lập các mục hai lần.
<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>
Để bây giờ tôi đã tạo ra một công trình xung quanh bằng cách thêm một tầm cao mới với MenuItem như thế này:
<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>
này hoạt động tốt, nhưng tôi không muốn có một trình đơn phụ nếu có thể . Oh, và tôi cũng thích làm điều này trong xaml thay vì mã phía sau. Bất kỳ ý tưởng?
lẽ bạn có thể sử dụng CompositeCollection để "thống nhất" của bạn bộ sưu tập từ máy ảo với bộ sưu tập XAML đã định nghĩa của bạn. –