Как получить 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 шаблоны для проверки значений свойств макета - или, программно, сохранить их в стиле - затем снова включить кнопку и применить к ней стиль?

Другие вопросы по тегам