Как выбирать между разными стилями в WPF XAML

#c# #.net #wpf #c#-4.0 #styles

#c# #.net #wpf #c #-4.0 #стили

Вопрос:

Я создаю всплывающее диалоговое окно, используя WPF от Microsoft.

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

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

Также, пожалуйста, обратите внимание, что я использую Visual Studio 2010 с .NET Framework 4.0.

Спасибо,

Фелипе

Ответ №1:

Я бы определил перечисление, которое дает имена стилям, затем либо использовал DataTriggers для установки стиля для элемента управления из границы переноса.

Комментарии:

1. О, упс, это «либо» должно было указывать на данное предложение или, в качестве альтернативы, пользовательское markupextension, но, похоже, это вылетело у меня из головы, когда я публиковал. Извините за это.