Лучший отвечающий
Как переопределить цвет отключённой кнопки?

Вопрос
-
Нужно чтобы, по событию, кнопка переставала реагировать на нажатие и меняла цвет.. сейчас отписываюсь от нажатия просто отключением кнопки(IsEnabled= False).. проблема в том, что при этом её цвет становится равным фону грида, а мне нужна чтоб она просто тускнела или становилась прозрачнее.. посоветуйте как этого можно добиться?25 августа 2013 г. 23:11
Ответы
-
Добрый день.
Очень хорошая статья про стилизацию кнопок. Там как раз есть пример, как менять внешний вид кнопки в зависимости от ее состояния (нажата, недоступна и т.д.). Прочитайте, попробуйте. Если будут вопросы, пишите.
- Предложено в качестве ответа Oleg Kurzov 26 августа 2013 г. 16:02
- Помечено в качестве ответа CheeGer 26 августа 2013 г. 21:11
26 августа 2013 г. 7:01Отвечающий
Все ответы
-
Чтобы изменить цвет элемента управления в теме, необходимо переопределить соответствующую кисть (к примеру, в App.xaml или же в StandardStyles.xaml).
Пример:
<SolidColorBrush x:Key="AppBarBackgroundThemeBrush" Color="#E5000000" />
Список всех кистей можно найти здесь: System brushes
26 августа 2013 г. 6:18 -
предлагаю переопределить события кнопки override onpaint(painteventargs e)
protected override void OnPaint(PaintEventArgs peven) { if (IsEnabled) { base.OnPaint(peven); } else {
base.OnPaint(peven); Brush b = new SolidBrush(Color.White); //здесь меняете цвет на нужный peven.Graphics.FillRectangle(b, ClientRectangle); b.Dispose(); } }
p.s. написал по памяти, если ошибка не судите
p.s.s. создайте user Control наследуя от Button, и впишите код. все должно получится
- Изменено Medet Tleukabiluly 26 августа 2013 г. 6:53
26 августа 2013 г. 6:49 -
Добрый день.
Очень хорошая статья про стилизацию кнопок. Там как раз есть пример, как менять внешний вид кнопки в зависимости от ее состояния (нажата, недоступна и т.д.). Прочитайте, попробуйте. Если будут вопросы, пишите.
- Предложено в качестве ответа Oleg Kurzov 26 августа 2013 г. 16:02
- Помечено в качестве ответа CheeGer 26 августа 2013 г. 21:11
26 августа 2013 г. 7:01Отвечающий