簡體   English   中英

鼠標懸停觸發器不適用於wpf按鈕控件

[英]The Mouse Over trigger is not working on wpf button control

鼠標懸停觸發器不適用於wpf按鈕控件。 我想在鼠標懸停在其上時更改按鈕的背景和前景。

<Button.Style>
    <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Button}">
            <Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1">
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
         </ControlTemplate>
       </Setter.Value>
       <Style.Triggers>
          <Trigger Property="IsMouseOver" Value="True">
             <Setter Property="Background">
                <Setter.Value>
                    <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                       <GradientStop Color="#FFF2E32F" Offset="0" />
                       <GradientStop Color="#FF45E815" Offset="1" />
                    </LinearGradientBrush>
                </Setter.Value>
             </Setter>
             <Setter Property="Foreground" Value="White"/>
        </Trigger>
      </Style.Triggers>
   </Style>
</Button.Style>

已編輯

我添加了模板,但它只是刪除了按鈕默認的MouseOver觸發器,並且沒有發生我想要的前景和背景樣式。

我從這里找到了可行的解決方案。 如下定義按鈕內部的樣式:

<Button.Style>
    <Style TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background">
                    <Setter.Value>
                        <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                            <GradientStop Color="#FFF2E32F" Offset="0" />
                            <GradientStop Color="#FF45E815" Offset="1" />
                        </LinearGradientBrush>
                    </Setter.Value>
                </Setter>
                <Setter Property="Foreground" Value="White"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</Button.Style>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM