gpt4 book ai didi

c# - WPF:使用复选框绑定(bind)命令

转载 作者:太空宇宙 更新时间:2023-11-03 22:30:21 28 4
gpt4 key购买 nike

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

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

这是 ViewModel:

class MainWindowViewModel
{
public ICommand script{ get; set; }

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

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

最佳答案

您可以将 CheckBox 的 IsChecked 绑定(bind)到 ViewModel 中的属性。这样的事情应该有效:

<CheckBox Content="Option" IsChecked="{Binding ShowBrowser}"  />
public bool ShowBrowser {get; set;}

然后您可以在 MainButtonClick 方法中使用 ShowBrowser 属性

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

<CheckBox Name="ShowBrowser" Content="Option" IsChecked="True"  />
<Button Height="20"
Content="Run Script"
Command="{Binding Script }"
CommandParameter="{Binding ElementName=ShowBrowser, Path=IsChecked}
/>

然后您的方法将如下所示:

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

这当然是假设您的 RelayCommand 类可以处理参数

关于c# - WPF:使用复选框绑定(bind)命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096238/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com