Сброс значения свойства зависимости из привязки - PullRequest
0 голосов
/ 12 августа 2011

Скажем, у меня есть Grid с большим количеством ячеек, и я связываю фон этой ячейки с некоторым свойством моего класса данных в стиле (фактически свойство класса данных имеет тип Color, но это не так проблема, потому что мы можем использовать конвертер для преобразования его в Brush),

Теперь, когда какое-то условие в моем классе данных является истинным, я хочу, чтобы фон был красным, а если нет, я хочу, чтобы оно было значением по умолчанию, данные могут измениться, поэтому условие может стать истинным и ложным, и я должен заполнить Фон красный или по умолчанию

Я знаю, что Binding.DoNothing и DependencyProperty.UnsetValue оба не соответствуют действительности, я пробовал также Cell.BackgroundProperty.DefaultValue, но это ноль.

Так есть ли какое-либо значение, которое я могу вернуть из своего свойства связанных данных, чтобы заставить свойство зависимости сбросить его значение?

Спасибо!

1 Ответ

1 голос
/ 12 августа 2011

Если у вас есть только логическое свойство, которое очень удобно, так как вы можете использовать DataTrigger и просто привязать значение, если свойство равно true, таким образом, свойство не всегда связано.

<Style.Triggers>
    <DataTrigger Binding="{Binding MyCondition}" Value="True">
        <Setter Property="Background" Value="Red"/>
    </DataTrigger>
</Style.Triggers>

Если у вас есть только выбор между значением по умолчанию и красным, вам даже не нужно дополнительное свойство или какое-либо связывание.

( Сброс значений невозможен впривязка к моим знаниям )

...