首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# WPF CheckBox命令未绑定

C# WPF CheckBox命令未绑定
EN

Stack Overflow用户
提问于 2022-04-29 02:29:22
回答 1查看 47关注 0票数 -1

查看:

代码语言:javascript
运行
复制
 <DataGridTemplateColumn.Header>
     <CheckBox x:Name="chk_Top" HorizontalAlignment="Center" HorizontalContentAlignment="Center"
         Command="{Binding Chk_GridTop}"/>
 </DataGridTemplateColumn.Header>

视图模型:

代码语言:javascript
运行
复制
public partial class ViewModel_AC: INotifyPropertyChanged
{
    ICommand _chkGridTop;

    public ICommand Chk_GridTop
    {
        get { return _chkGridTop ?? (_chkGridTop = new DelegateCommand(_chk_GridTop)); }
    }

    public void _chk_GridTop(object check)
    {
     //Empty
    }
}

DelegateCommand

代码语言:javascript
运行
复制
public class DelegateCommand : ICommand
{
    readonly Action<object> _execute;
    readonly Predicate<object> _canExecute;

    public DelegateCommand(Action<object> execute, Predicate<object> canExecute)
    {
        if (execute == null)
            throw new NullReferenceException("execute can no null");

        _execute = execute;
        _canExecute = canExecute;
    }

    public DelegateCommand(Action<object> execute) : this(execute, null)
    {

    }

    public event EventHandler CanExecuteChanged
    {
        add { CommandManager.RequerySuggested += value; }
        remove { CommandManager.RequerySuggested -= value; }
    }

    public bool CanExecute(object parameter)
    {
        return _canExecute == null ? true : _canExecute(parameter);
    }

    public void Execute(object parameter)
    {
        _execute.Invoke(parameter);
    }
}

还有其他命令与按钮绑定,这些按钮运行良好,但checkBox命令不起作用。

当Chk_GridTop被选中或未被选中时,我想启动checkBox

我用那个是不是出了什么问题?

EN

回答 1

Stack Overflow用户

发布于 2022-04-29 04:31:20

添加CommandParameter

代码语言:javascript
运行
复制
 <DataGridTemplateColumn.Header>
            <CheckBox x:Name="chk_Top" HorizontalAlignment="Center" HorizontalContentAlignment="Center"
         Command="{Binding Chk_GridTop}" CommandParameter="{Binding RelativeSource={RelativeSource Self},Path=IsChecked}"/>
        </DataGridTemplateColumn.Header>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72052155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档