Xaml 如何在MVVM中指定命令绑定范围?
我在玩MVVM,在将命令绑定到按钮时遇到了一些障碍。我在视图(=UserControl)中有几个按钮,它们是根据我拥有的对象列表生成的 我的代码如下所示:Xaml 如何在MVVM中指定命令绑定范围?,xaml,mvvm,Xaml,Mvvm,我在玩MVVM,在将命令绑定到按钮时遇到了一些障碍。我在视图(=UserControl)中有几个按钮,它们是根据我拥有的对象列表生成的 我的代码如下所示: Command = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ViewModel.CommandToBind}" (主窗口) (用户控制) 但是ConnectCommand没有被调用,
Command = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ViewModel.CommandToBind}"
(主窗口)
(用户控制)
但是ConnectCommand没有被调用,我认为这是因为XAML在AllConnections绑定中寻找它,而不是在ViewModels绑定中寻找它。如何指定此项?您应该使用相对源来指定祖先。大概是这样的:
Command = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ViewModel.CommandToBind}"
您应该使用相对源来指定祖先。大概是这样的:
Command = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ViewModel.CommandToBind}"
您可以将命令添加到资源中,只需使用
{StaticResource yourCommand}
。这可以大大简化xaml
有用的链接:
您可以将命令添加到资源中,只需使用
{StaticResource yourCommand}
。这可以大大简化xaml
有用链接:
按钮内容=“{Binding Password}”-已正确绑定?按钮内容=“{Binding Password}”-已正确绑定?是。这取决于如何在viewyep上设置datacontext。这取决于如何在视图上设置datacontext