Переплет для стилей WPF

Я пытаюсь создать пользовательский элемент управления - кнопку, к которой будет применено несколько стилей в зависимости от значения свойства в контексте данных.

То, о чем я думал, использует нечто похожее на:

<Button Style="{Binding Path=ButtonStyleProperty, Converter={StaticResource styleConverter}}" Text="{Binding Path=TextProp}" />

И в коде ... Реализуйте IValueConverter, который делает что-то похожее на код ниже вConvertTo метод:

switch(value as ValueEnums)
{
    case ValueEnums.Enum1:
        FindResource("Enum1ButtonStyle") as Style;
    break;

    ... and so on.
} 

Однако я не совсем уверен, как вытащить объект стиля и даже если это вообще возможно ...

В то же время я занимаюсьDataContextChanged событие, затем присоединение обработчика кPropertyChanged событие привязки объекта к кнопке, а затем запуск инструкции switch.

Это не совсем идеально, но пока я не найду лучшего решения, мне кажется, что это то, что мне придется использовать.

Ответы на вопрос(4)

Ваш ответ на вопрос