如何正确绑定动态创建的菜单项列表。我尝试了几件事,但似乎都没有效果。我得到了正确的名单,但是我的ViewSwitchCommand似乎没有正确启动。
<MenuItem Foreground="White" Header="Names" ItemsSource="{Binding Player.ToonNames}" Command="{Binding ViewSwitchCommand}" CommandParameter="{Binding Header}"/>
但是,如果我不动态地做这样做,那么一切正常可以让它工作
<MenuItem Foreground="White" Header="Names">
<MenuItem Foreground="Black" Header="Chat" Command="{Binding ViewSwitchCommand}" CommandParameter="player1" />
<MenuItem Foreground="Black" Header="Craft" Command="{Binding ViewSwitchCommand}" CommandParameter="player2" />
</MenuItem>
命令参数需要一个字符串..不确定是不是...希望这很简单我只是忽略
答案 0 :(得分:16)
此代码适用于我:
<MenuItem Header="Names" ItemsSource="{Binding Player.ToonNames}">
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=MenuItem}, Path=DataContext.ViewSwitchCommand}" />
<Setter Property="CommandParameter" Value="{Binding}" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>