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