Wpf 使用内容内的标签更改焦点上的按钮标签前景

Wpf 使用内容内的标签更改焦点上的按钮标签前景,wpf,xaml,Wpf,Xaml,我有一个按钮,我需要改变背景和前景的颜色时,按钮是在重点。我有背景颜色的变化工作,但不能得到前景颜色的变化(在标签上)的工作 我只想在XAML中执行此操作 我的按钮: <Button Style="{StaticResource ModButtonWhite}" Name="btnConnect" Height="30" Click="btnConnect_Click"

我有一个按钮,我需要改变背景和前景的颜色时,按钮是在重点。我有背景颜色的变化工作,但不能得到前景颜色的变化(在标签上)的工作

我只想在XAML中执行此操作

我的按钮:

          <Button Style="{StaticResource ModButtonWhite}"
              Name="btnConnect"
              Height="30"
              Click="btnConnect_Click"
              Width="75"
              Margin="0,0,15,0">
        <Label Name ="btnConnectLabel" Content="Re-_Connect" />
      </Button>

我的风格:

<Style TargetType="Button"
     x:Key="ModButtonWhite">
<Setter Property="Foreground"
        Value="White" />
<Setter Property="Background"
        Value="Transparent" />
<Setter Property="Template">
  <Setter.Value>
    <ControlTemplate TargetType="Button">
      <Border Background="{TemplateBinding Background}"
              CornerRadius="5"
              BorderThickness="1"
              BorderBrush="White">
        <ContentPresenter HorizontalAlignment="Center"
                          VerticalAlignment="Center" />
      </Border>
      <ControlTemplate.Triggers>
        <Trigger Property="Button.IsFocused"
                 Value="True">
          <Setter Property="Background"
                  Value="White" />
          <Setter Property="Foreground"
                  Value="DeepSkyBlue" />
        </Trigger>
      </ControlTemplate.Triggers>
    </ControlTemplate>
  </Setter.Value>
</Setter>
<Style.Resources>
  <Style TargetType="Label">
    <Setter Property="Foreground"
            Value="White" />
    <Style.Triggers>
      <Trigger Property="IsMouseOver"
               Value="True">
        <Setter Property="Foreground"
                Value="DeepSkyBlue" />
      </Trigger>
    </Style.Triggers>
  </Style>
</Style.Resources>
<Style.Triggers>
  <Trigger Property="IsMouseOver"
           Value="True">
    <Setter Property="Background"
            Value="White" />
    <Setter Property="Opacity"
            Value=".4" />
    <Setter Property="Foreground"
            Value="DeepSkyBlue" />
  </Trigger>

</Style.Triggers>


您只需将
标签.前台
绑定到
按钮.前台
。不需要在
Style.Resources
字典中定义任何其他样式。仅使用普通样式覆盖
按钮。模板

<Window>
  <Window.Resources>
    <Style TargetType="Button"
           x:Key="ModButtonWhite">
      <Setter Property="Foreground"
              Value="White" />
      <Setter Property="Background"
              Value="Transparent" />
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="Button">
            <Border Background="{TemplateBinding Background}"
                    CornerRadius="5"
                    BorderThickness="1"
                    BorderBrush="White">
              <ContentPresenter HorizontalAlignment="Center"
                                VerticalAlignment="Center" />
            </Border>
            <ControlTemplate.Triggers>
              <Trigger Property="Button.IsFocused"
                       Value="True">
                <Setter Property="Background"
                        Value="White" />
                <Setter Property="Foreground"
                        Value="DeepSkyBlue" />
              </Trigger>
            </ControlTemplate.Triggers>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </Window.Resources>

  <Button Style="{StaticResource ModButtonWhite}">
    <Label Content="Click me!"
           Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}" />
  </Button>
</Window>