将菜单项绑定到列表
本文关键字:列表 绑定 菜单项 | 更新日期: 2023-09-27 18:02:07
我有一个包含菜单项名称的字符串列表:
List<string> namesStorage;
我如何将这个列表绑定为XAML中的集合?
现在我已经写了这一部分,它已经工作了:
<StackPanel Orientation="Vertical">
<MenuItem Header="MenuItem1" Command="{Binding Command1}" />
<MenuItem Header="MenuItem2" Command="{Binding Command1}" />
</StackPanel>
这些项必须有一个命令(视图模型中可以设置不同的参数)。
但我认为这不是一个好方法来设置每个MenuItem
在XAML -它是ok的现在两个项目,但我想知道如何做出一个普遍的决定,为任何数量的这个菜单项。我已经创建了一个包含名称的列表,但如何绑定它(并保持命令)?
设置正确的DataContext后,应该可以工作了:
<ItemsControl ItemsSource="{Binding namesStorage}" x:Name="ItemsControlName">
<ItemsControl.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding}" Command="{Binding ElementName=ItemsControlName, Path=DataContext.Command1}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Edit:删除Parent-Stackpanel