Как получить WPF-контроль для имитации отключенного состояния?
По сути, у меня есть пользовательская кнопка WPF, которую я хотел бы вывести из строя, но все же иметь возможность реагировать на нажатие кнопки.
Я бы предпочел не связываться с другими типами событий, если это возможно, потому что есть некоторые забавные временные проблемы с касанием и удержанием, которые уже происходят.
Спасибо!
Вот что я сделал в качестве обходного пути:
this.myLabel.Foreground = Brushes.DarkGray;
this.mySeparator.BorderBrush = Brushes.DarkGray;
this.myOtherLabel.Foreground = Brushes.DarkGray;
Я не большой поклонник, потому что он очень индивидуален для компонентов моего пользовательского элемента управления, но это по крайней мере быстрый программный способ сделать это, пока у кого-то не появится что-то лучшее.
1 ответ
Вы можете получить текущий шаблон элемента управления следующим образом:
System.Windows.Markup.XamlWriter.Save(myButton.Template, new FileStream("c:\\bla.xml", FileMode.Append));
Изучите триггеры шаблона, чтобы увидеть, что изменится, если кнопка отключена, и установите соответствующие свойства.
Изменить: ОК, это было не так...:-)
Вы также можете отключить кнопку, а затем использовать Snoop или Show me шаблоны для проверки значений свойств макета - или, программно, сохранить их в стиле - затем снова включить кнопку и применить к ней стиль?