Управление тегами XAML из кода C # - PullRequest
1 голос
/ 02 октября 2010

У меня есть приложение WPF, и я хотел бы изменить цвет фона пользовательского интерфейса на основе выбора пользователя во время выполнения.

Теперь я хочу создать кнопку, которая меняет цвет при каждом нажатии, поэтому эта кнопка должна изменить значение из тегов XAML

Пожалуйста, помогите мне сделать это, мне очень нужно Спасибо

Ответы [ 4 ]

4 голосов
/ 02 октября 2010

Чтобы сделать элемент управления красным из кода:

yourControl.Background = Brushes.Red;
3 голосов
/ 02 октября 2010

Другой вариант - привязать цвет фона к свойству в вашем DataContext и обновлять только значение свойства, когда вы нажимаете кнопку. Таким образом, вы также можете держать свою логику и отображать обязанности отдельно.

3 голосов
/ 02 октября 2010

Томас привел один пример того, что вы могли бы сделать.

Другой вариант - привязать цвет фона к какому-либо свойству контекста данных (возможно, к ViewModel, если вы используете MVVM) и заставить кнопку щелкнуть мышью, чтобы изменить это свойство - возможно, косвенно с помощью команды.

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

0 голосов
/ 02 октября 2010

Проще говоря. Нет разницы между XAML и C #. В конце он выдает одинаковый исполняемый код.

Чтобы изменить свойство в графическом интерфейсе, вы должны либо назвать свой элемент управления через свойство x: Name, а затем установить свое свойство в файле кода бэкэнда. Или вы можете привязать вашу собственность к некоторому вспомогательному полю, предпочтительно используя шаблон MVVM.

Но вы должны сначала понять, как работает WPF (ESPECIALY DataBinding), прежде чем переходить к более сложным темам, таким как MVVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...