【问题标题】:Change the Label's foreground colour on MouseOver WPF在 MouseOver WPF 上更改标签的前景色
【发布时间】:2012-11-29 00:53:58
【问题描述】:

我有以下问题:我有一个Button,其中有一个StackPanel,在StackPanel 中有一个ContentControl 和一个Label,并且我已经设置了按钮的属性@ 987654326@ 和 IsPressed 在动作发生时更改按钮的颜色。但是,当鼠标悬停在按钮上时,我想反转标签的颜色。

这是我按钮的代码:(因为我觉得我的描述不够清楚):

<Button Template="{StaticResource OnMouseOver}" ToolTip="Release" >
    <StackPanel Orientation="Horizontal">
        <ContentControl Template="{StaticResource Release}"/>
        <Label Content="Release" Foreground="#457345" />
    </StackPanel>
</Button>

这是我在按下按钮和鼠标悬停在按钮上时更改按钮属性的方式:

<ControlTemplate TargetType="Button" x:Key="OnMouseOver">
    <Border x:Name="border" Background="Transparent">
        <ContentPresenter ContentSource="Content" />
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter TargetName="border" Property="Background" Value="#A1CCA1"/>
        </Trigger>
        <Trigger Property="IsPressed" Value="True">
            <Setter TargetName="border" Property="Background" Value="#AFD8AF"/>
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

为了记录,我曾尝试为我的唱片公司做类似ControlTemplate 之类的事情,但没有奏效,当我这样做时,我的唱片公司就消失了。

你能帮我吗?

【问题讨论】:

    标签: c# .net wpf xaml expression-blend


    【解决方案1】:

    试试这个:

        <ControlTemplate TargetType="Button" x:Key="OnMouseOver">
    <Border x:Name="border" Background="Transparent">       
        <StackPanel Orientation="Horizontal">
                <ContentControl />
                <Label x:Name="label" Content="Release" Foreground="#457345" />
            </StackPanel>
    </Border>
    <ControlTemplate.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter TargetName="border" Property="Background" Value="#A1CCA1"/> 
             <Setter TargetName="label" Property="Foreground" Value="#AFD8AF"/>     
        </Trigger>
        <Trigger Property="IsPressed" Value="True">
            <Setter TargetName="border" Property="Background" Value="#AFD8AF"/>
             <Setter TargetName="label" Property="Foreground" Value="#A1CCA1"/> 
        </Trigger>
    </ControlTemplate.Triggers>
    

    <Button x:Name="button" Template="{StaticResource OnMouseOver}" ToolTip="Release" Height="42" VerticalAlignment="Bottom" Margin="235,0,127,143" >
    
        </Button>
    

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 2016-04-25
      • 2013-04-28
      • 2018-03-25
      • 1970-01-01
      • 2018-09-23
      • 2011-01-17
      • 2014-05-19
      • 1970-01-01
      相关资源
      最近更新 更多