Как переопределить стиль кнопки в теге <Style>? - PullRequest
0 голосов
/ 30 мая 2018

Предположим, у меня есть шаблон стиля кнопки, но я хочу добавить к одной определенной кнопке несколько DataTriggers (в теге), но я не могу этого сделать, потому что Стиль уже определен

<Button Style="{DynamicResource MetroCircleButtonStyle}"> 
   <Button.Style> // error - The property "Style" is set more than once
       <Style TargetType="Button">
           <Style.Triggers>

           </Style.Triggers>
        </Style>
    </Button.Style>   
 </Button>

Как установить тег Style="{Dynamicresource MetroCircleButtonStyle}" внутри <Style>, чтобы избежать ошибки?

1 Ответ

0 голосов
/ 30 мая 2018

Просто "переопределите" ваш "MetroCircleButtonStyle", создав новый стиль на основе "MetroCircleButtonStyle".

 <Style x:Key="MetroCircleButtonStyleWithChanges" TargetType="{x:Type Button}" BasedOn="{StaticResource MetroCircleButtonStyle}" />

И там делайте все, что вам нужно.Затем просто используйте его:

<Button Style="{DynamicResource MetroCircleButtonStyleWithChanges}" /> 

Если вы больше не собираетесь его использовать, вы можете просто определить его в кнопке, как:

    <Button>
        <Button.Style>
            <Style BasedOn="MetroCircleButtonStyle" TargetType="Button">
                <!--Whatever you need-->
            </Style>
        </Button.Style>
    </Button>
...