我想让我在datatemplate中的复选框有三个状态我实现了一个函数来将listview列的datatemplate设置为复选框:但我希望它允许三个状态
public DataTemplate SampleTemplate()
{
DataTemplate dt = new System.Windows.DataTemplate();
dt.DataType = typeof(bool);
FrameworkElementFactory fef = new FrameworkElementFactory(typeof(CheckBox));
Binding bd = new Binding("EnabledThreading");
fef.SetBinding(CheckBox.IsCheckedProperty, bd);
dt.VisualTree = fef;
return dt;
}
答案 0 :(得分:3)
设置相应的属性,类似于:
fef.SetValue(CheckBox.IsThreeStateProperty, true);
(如果您没有注意到,FrameworkElementFactory
已被弃用了)
答案 1 :(得分:1)
CheckBox有一个IsChecked属性,它是一个可以为空的布尔值,这意味着它可以有三个可能的值 - true,false和null。将其设置为每个实例的适当值。
您还需要将CheckBox的IsThreeState属性设置为true。