我正在尝试添加一个ItemsSource
,MenuItem
同时保持命令绑定到我的 ViewModel(我的窗口的 DataContext)。到目前为止,我还没有想出让它工作的方法。在添加 ItemsSource 之前,绑定很好。我试图绑定的集合来自StaticResource
. 有人可以帮我解决这个问题吗?
<MenuItem Command="{Binding OpenTeamPage}"
DisplayMemberPath="Name"
Header="Teams"
ItemsSource="{Binding Teams,
Source={StaticResource Container}}" />
我尝试过使用它及其变体,但没有成功:
Command="{Binding OpenTeamPage,
RelativeSource={RelativeSource AncestorType=Window},
Mode=Default}"
如果有人能告诉我如何在将我的命令绑定到我的 ViewModel 的同时使用此 ItemsSource,我将不胜感激。我想我可以将命令放在我的团队模型中,但如果可能的话,我想避免这种情况。
编辑:为了澄清我的问题,在 ItemsSource 到位后,ViewModel 中的命令根本不会触发。如果没有 ItemsSource,该命令将触发。我希望能够拥有 ItemsSource 并且仍然能够触发命令。
编辑:
public class GameContainer
{
static GameContainer()
{
Teams = new ObservableCollection<Team>();
}
public static ObservableCollection<Team> Teams { get; set; }
}
在 App.xaml 中:
<data:GameContainer x:Key="Container" />
该集合在程序启动时填充。
一旦我完成这项工作,我的目标是将所选团队传递给 Viewmodel,希望通过 CommandParameter,并显示有关所选团队的信息。
编辑:我在原来的帖子中弄错了。来自 Viewmodel 的绑定集合也不起作用。