Как переопределить свойство borderbrush / background color на триггере IsMouseOver из базового стиля? - PullRequest
0 голосов
/ 21 июня 2019

Есть два разных типа флажков, цвет фона будет меняться при наведении курсора. Я хочу изменить цвет фона "checkboxBorder" на IsMouseOver. Я хочу знать, как этого добиться. Скелетный код приведен ниже:

    <Style x:key="BaseStyle" TargetType="{x:type checkbox}">
    <setter property="Template">
    <setter.value>
           <ControlTemplate TargetType="{x:type checkbox}">
              <grid x:Name="templateRoot">
                  <border x:Name="checkBoxBorder">
                         <Grid x:Name="markGrid">
                              <Path x:Name="optionMark"/>
                         </grid>
                  </border>
              </grid>
              <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver"
                                     Value="true">
                                <Setter Property="Background"
                                        TargetName="checkBoxBorder"
                                        Value="{StaticResource blue}" />
                                <Setter Property="BorderBrush"
                                        TargetName="checkBoxBorder"
                                        Value="{StaticResource 
                   Lochmara}" />
                                <Setter Property="Fill"
                                        TargetName="TickMark"
                                        Value="{StaticResource White}" 
           />
                            </Trigger>
              </ControlTemplate.Triggers>
           </ControlTemplate>
    </setter.value>
    </setter>
    </style>

  In the below xaml style i am using the above base style on top of that i 
   need to assign different color for "checkboxborder" background property 
  on mouseover   

   <Style x:key="BaseStyle" TargetType="{x:type checkbox}" 
             BasedOn="BaseStyle">
          <style.Triggers>
                <Trigger Property="IsMouseOver"
                                 Value="true">
                            <Setter Property="Background"
                                    TargetName="checkBoxBorder"
                                    Value="{StaticResource Shimmer}" />
                            <Setter Property="BorderBrush"
                                    TargetName="checkBoxBorder"
                                    Value="{StaticResource Lochmara}" />
                            <Setter Property="Fill"
                                    TargetName="TickMark"
                                    Value="{StaticResource White}" />
                        </Trigger>
          </style.Triggers>
  </Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...