Изменение цвета SolidColorBrush во время выполнения - PullRequest
4 голосов
/ 07 июня 2011

У меня в файле кисти ресурсов приложения:

<SolidColorBrush x:Key="MainColor" Color="#FF15428B" /> 

Я хочу изменить цвет этой кисти во время выполнения.Я добавил палитру цветов - когда пользователь выбирает цвет, я хочу, чтобы эта кисть выбрала цвет.

Я пробовал такой код:

SolidColorBrush MainColor = new SolidColorBrush(SelectedColor);

Но это не сработало.

Ответы [ 3 ]

8 голосов
/ 07 июня 2011

Вам необходимо установить существующее свойство Color кисти.

Вы можете получить экземпляр, написав (SolidColorBrush)Resources["MainColor"]

2 голосов
/ 16 декабря 2011
MainColor = new SolidColorBrush(Color.FromArgb(
    SelectedColor.A, SelectedColor.R, SelectedColor.G, SelectedColor.B
));
2 голосов
/ 07 июня 2011

Вы можете получить доступ к ресурсам из кода с помощью метода TryFindResource:

SolidColorBrush myBrush = (SolidColorBrush)this.TryFindResource("myBrush");

if (myBrush != null)
{
    myBrush.Color = Colors.Yellow  ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...