2011-05-02 55 views
0

我在我的xaml中绑定到属性的复选框,即使该属性为false,也不会禁用复选框。WPF复选框问题

这里是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");} 
    } 

而我会在创建对象时设置该属性。

而im使用itemsource绑定数据网格;

Datagrid.ItemsSource = ViewModels; 

而且我可以看到视图模型的对象集合确实有这个属性填充为false.But没有禁用的复选框。

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

+0

<复选框器isChecked = “{绑定路径= IsClickable}”/> 这是我的复选框 – alice7 2011-05-02 20:33:55

+1

的XAML是否有输出的任何绑定错误Visual Studio的窗口? – 2011-05-02 20:41:26

回答

3

你绑定IsChecked属性,但如果你想启用/禁用CheckBox,你需要将IsEnabled属性绑定:

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

(你可能会需要绑定IsChecked的东西否则您将无法检索已检查的状态)

+0

这确实工作托马斯 – alice7 2011-05-02 21:04:07