2016-07-22 4 views
0

Я попытался изменить свойство фона только в стиле из кода позади для некоторой внутренней цели в моем приложении WPF, ниже ошибки, возникшей при попытке добавить новый сеттер в стиль, который мы использовалиКак изменить сеттер из кода в WPF

After a 'SetterBase' is in use (sealed), it cannot be modified.

Как я решить эту проблему?

Заранее спасибо

ответ

0

если у вас есть что-то вдоль линий:

<Setter Property="Button.Background" Value="Red" /> 

это можно заменить, используя код позади. В C#, который будет выглядеть следующим образом:

var setter = new Setter 
{ 
    Property = Button.BackgroundProperty, 
    Value = "red", 
}; 

Или, используя привязки:

Value = new Binding("BackgoundColour"), 

где BackgroundColour является переменным.

Я не уверен, что это работает, когда база запечатана, но попробуйте.

+0

Помимо записи 'Value = Brushes.Red' вместо' Value = "red" ', также обязательно замените существующий Setter на новый. – Clemens

+0

забыли про кисти ха-ха. Я новичок в WPF, поэтому не предполагаю, что я на 100% прав –

Смежные вопросы