WPF复选框问题

时间:2011-05-02 20:33:34

标签: c# wpf datagrid binding

我的xaml中有一个复选框,它绑定到一个属性,即使该属性为false,也不会禁用该复选框。

这是xaml:

<DataGridTemplateColumn Header="checkBox" Width="60">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <CheckBox  IsChecked="{Binding Path=IsClickable}"/> 
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

viewModel.cs

    public bool IsClickable
    {
        get { return _isClickable; }
        set { _isClickable = value;
            PropertChanged("IsClickable");}
    }

我在创建对象时设置了这个属性。

我使用itemsource绑定datagrid;

 Datagrid.ItemsSource = ViewModels;

我可以看到viewmodel的对象集合确实将该属性填充为false。但是没有禁用该复选框。

有人可以告诉我为什么好吗?

1 个答案:

答案 0 :(得分:3)

您绑定了IsChecked属性,但如果要启用/禁用CheckBox,则需要绑定IsEnabled属性:

<CheckBox IsEnabled="{Binding Path=IsClickable}" />

(您可能需要将IsChecked绑定到其他位置,否则您将无法检索已检查的状态)