C# WPF:使用复选框绑定命令

C# WPF:使用复选框绑定命令,c#,wpf,data-binding,C#,Wpf,Data Binding,我是WPF和MVVM的新手,所以这可能是一个非常简单的问题。我有一个带有按钮和复选框的应用程序。单击按钮后,它将运行命令,然后运行脚本。该复选框是在脚本运行时查看internet浏览器的选项。我想知道,一旦选择了按钮,我如何输入复选框是否被选中。我将一些编码名称更改为更基本的名称。这是我的Xaml: <StackPanel Margin="10"> <CheckBox Content="Option" IsChecked="True" />

我是WPF和MVVM的新手,所以这可能是一个非常简单的问题。我有一个带有按钮和复选框的应用程序。单击按钮后,它将运行命令,然后运行脚本。该复选框是在脚本运行时查看internet浏览器的选项。我想知道,一旦选择了按钮,我如何输入复选框是否被选中。我将一些编码名称更改为更基本的名称。这是我的Xaml:

<StackPanel Margin="10">
        <CheckBox Content="Option" IsChecked="True"  />
        <Button Height="20"
                Content="Run Script"
                Command="{Binding Script }"
                />
    </StackPanel>

您可以将复选框的
IsChecked
绑定到ViewModel中的属性。像这样的方法应该会奏效:


public bool ShowBrowser{get;set;}
然后,您可以在
main按钮单击方法中使用
ShowBrowser
属性

或者您可以使用dymanoid在注释中指出的命令参数。像这样:



您可以将复选框的
IsChecked
绑定到ViewModel中的属性。像这样的方法应该会奏效:


public bool ShowBrowser{get;set;}
然后,您可以在
main按钮单击方法中使用
ShowBrowser
属性

或者您可以使用dymanoid在注释中指出的命令参数。像这样:



最简单的方法是使用
CommandParameter
@dymanoid Yes CommandParameter可以工作,假设
RelayCommand
类可以处理参数。因此OP可能需要调整他们的RelayCommand,IMO将
IsChecked
属性绑定到ViewModel更容易,并且还允许更多的参数。最简单的方法是使用
CommandParameter
@dymanoid是CommandParameter可以工作,假设
RelayCommand
类可以处理参数。因此OP可能需要调整他们的RelayCommand,IMO将
IsChecked
属性绑定到ViewModel更容易,而且还允许更多的参数,这非常简单。。。非常感谢你!十分钟结束后,我会把这个标记为答案。再次感谢你!这是难以置信的简单。。。非常感谢你!十分钟结束后,我会把这个标记为答案。再次感谢你!
class MainWindowViewModel
{
    public ICommand script{ get; set; }

    public MainWindowViewModel()
    {
        script = new RelayCommand(o => MainButtonClick());
    }

    private void MainButtonClick()
    {
        Program start = new Program();
        start.Begin();
    }
}