Сделайте dateatemplate флажок трижды - PullRequest
0 голосов
/ 12 декабря 2011

Я хочу, чтобы у моего флажка в datatemplate было три состояния. Я реализовал функцию, чтобы установить 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;
} 

Ответы [ 2 ]

3 голосов
/ 12 декабря 2011

Установите соответствующее свойство, что-то вроде:

fef.SetValue(CheckBox.IsThreeStateProperty, true);

(FrameworkElementFactory устарело, кстати, если вы этого не заметили)

1 голос
/ 12 декабря 2011

CheckBox имеет свойство IsChecked, которое имеет логическое значение NULL, что означает, что оно может иметь три возможных значения - true, false и null.Установите соответствующее значение для каждого экземпляра.

Также необходимо установить для свойства IsThreeState элемента CheckBox значение true.

...