Wpf 是否可以从ViewModel触发复选框命令?

Wpf 是否可以从ViewModel触发复选框命令?,wpf,xaml,mvvm,checkbox,Wpf,Xaml,Mvvm,Checkbox,我有一个复选框数据绑定到视图模型中名为“ViewType”的bool属性。如果“ViewType”为true,则选中该复选框,否则不选中 问题是,需要在视图模型中打开和关闭复选框,而不是单击鼠标来触发命令 所述复选框: <CheckBox x:Name="ViewTypeCheckbox" IsChecked="{Binding ViewType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Command="NavigationC

我有一个复选框数据绑定到视图模型中名为“ViewType”的bool属性。如果“ViewType”为true,则选中该复选框,否则不选中

问题是,需要在视图模型中打开和关闭复选框,而不是单击鼠标来触发命令

所述复选框:

<CheckBox x:Name="ViewTypeCheckbox" IsChecked="{Binding ViewType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Command="NavigationCommands.GoToPage" CommandParameter="/views/membership.xaml"/>

不幸的是,该命令只能通过鼠标单击触发。我不完全确定如何使用样式触发器或数据触发器来实现这一点。我最近的尝试是:

    <CheckBox x:Name="ViewTypeCHeckbox">
        <DataTrigger Binding="{Binding ElementName=ViewTypeCHeckbox, Path=IsChecked}" Value="True">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Button.Click">
                    <i:InvokeCommandAction Command="NavigationCommands.GoToPage" CommandParameter="Views/membership.xaml" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </DataTrigger>
    </CheckBox>

但这也不行。。。
我可以做任何修改来触发该命令吗?

因为您使用的是
RoutedCommand
您已经超出了纯ViewModel领域,所以没有理由不为
选中/未选中的
连接事件处理程序(绑定更改时将触发该事件处理程序)如果您不理解您的问题,可以将属性
ViewType
设置为
true
false
,它将反映在您的视图上。您只需将IsChecked属性绑定到ViewModel的bool属性即可。在ViewModel的bool属性的属性更改事件中,您可以导航到下一页(GoToPage命令)