В Xaml, как вы можете программно изменить значение SolidColorBrush?
Привет, у меня есть приложение xaml, которое имеет один определенный цвет, используемый во многих местах на странице. Я хочу программно изменить значение этого цвета. Я не хочу обновлять цвет каждого объекта индивидуально. Я попробовал это:
<Grid
Background="{Binding GalleryViewBrush, Mode=TwoWay}"
Grid.Row="0"
Grid.Column="0">
Тогда в коде позади:
public Brush GalleryViewBrush {get; задавать; }
GalleryViewBrush = new SolidColorBrush (Colors.Red);
Но цвет никогда не работает. Я тоже пробовал xbind, но не повезло
Спасибо
1 ответ
Ваша модель представления должна быть реализована INotifyPropertyChanged
, а затем уволить PropertyChanged
событие, когда ваше свойство кисти изменяется. Условно это делается в установщике для свойства.
private Brush _myBrush;
public MyBrush {
get { return _myBrush; }
set {
_myBrush = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyBrush));
}
}
Если ваш получить / установить для GalleryViewBrush
в вашем вопросе, что на самом деле находится в примере кода в вашем вопросе, это, вероятно, проблема.
Имейте в виду опечатки в моем примере кода выше, я забил банкомат.