Как я могу создать триггер, который также устанавливает что-то в Button.Content? - PullRequest
0 голосов
/ 16 октября 2019

Я написал свой собственный UserControl, который наследуется от Button. Я аутсорсинг стиля. Теперь у меня есть xaml, где описан мой стиль, и файл .cs. У меня есть триггер, слушающий IsPressed. Здесь я хочу установить синий фон, а на ярлыке в «Button.Content» цвет шрифта должен быть белым. Как я могу сделать это, я могу добиться этого с помощью триггера (всегда только до тех пор, пока я нажму, возможно, с задержкой в ​​1 секунду).

Заранее спасибо.

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="clr-namespace:Test.MyElements">

  <Style TargetType="Label">
    <Setter Property="FontFamily" Value="Arial"></Setter>
    <Setter Property="FontWeight" Value="Regular"></Setter>
    <Setter Property="Foreground" Value="#39618F"></Setter>
    <Setter Property="FontSize" Value="14"></Setter>
    <Setter Property="Padding" Value="10, 5, 10, 5"></Setter>
  </Style>

  <Style TargetType="{x:Type local:MyButton}">

    <!--#region Style Für Alle-->

    <Setter Property="HorizontalContentAlignment" Value="Left"></Setter>
    <Setter Property="Height" Value="30"></Setter>
    <Setter Property="Margin" Value="3,3,3,3"></Setter>
    <Setter Property="Background" Value="#F0F0F0"></Setter>
    <Setter Property="BorderThickness" Value="1"></Setter>
    <Setter Property="BorderBrush" Value="#F0F0F0"></Setter>

    <!--#endregion Style Für Alle-->

    <!--#region Style StandardButtonWithCaption.xaml-->


      <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type Button}">
          <Border Background="{TemplateBinding Background}">
            <ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Center"/>
          </Border>
        </ControlTemplate>
      </Setter.Value>
    </Setter>

    <Setter Property="Width" Value="auto"></Setter>

    <Setter Property="Button.Content" x:Name="test">
      <Setter.Value>
        <Label x:Name="lbl" Content="{Binding w_Caption}"></Label>
      </Setter.Value>

    </Setter>

    <!--#endregion Style StandardButtonWithCaption.xaml-->

    <!--#region Schatten-->
    <Setter Property="Button.BitmapEffect">
      <Setter.Value>
        <DropShadowBitmapEffect Color="#D7D7D7" Direction="45" ShadowDepth="2"/>
      </Setter.Value>
    </Setter>
    <!--#endregion Schatten-->

    <!--#region Rahmendicke-->

    <Style.Resources>
      <Style TargetType="Border">
        <Setter Property="CornerRadius" Value="2"></Setter>
      </Style>
    </Style.Resources>

    <!--#endregion Rahmendicke-->

    <Style.Triggers>
      <Trigger Property="IsPressed" Value="True">
        <Setter Property="Background" Value="#39618F"/>
        <Setter Property="Foreground" Value="Red"/>
      </Trigger>
    </Style.Triggers>


  </Style>

</ResourceDictionary>
...