繁体   English   中英

#WPF在mouseOver按钮上更改图像

[英]#WPF Change image on mouseOver Button

我正在尝试更改stackpanel中按钮内的图像。 当按钮检测到鼠标时,我希望图像改变。 可能吗 ?

谢谢

我的按钮:

   <Button Background="Transparent" Height="17" Width="17" BorderBrush="Transparent" HorizontalAlignment="Right" Margin="0 0 6 0" Click="Button_Click" ToolTip="Copier les informations dans le Clipboard" Grid.Column="4" Style="{StaticResource hover2}">
                <StackPanel Height="17" Width="17">
                    <Image Source="Resources/copyPaste.png" Height="17" Width="17" />
                </StackPanel>
            </Button>      

我的风格适用:

<Style x:Key="hover2" TargetType="Button">
        <Setter Property="OverridesDefaultStyle" Value="True"/>       
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Name="border" 
                        BorderThickness="0"                         
                        BorderBrush="Transparent"                          
                        Background="{TemplateBinding Background}">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="border" Property="BorderBrush" Value="Black" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

你当然可以:

<Grid.Resources>
          <Style x:Key="hover2" TargetType="Button">
              <Setter Property="OverridesDefaultStyle" Value="True"/>
              <Setter Property="Template">
                  <Setter.Value>
                      <ControlTemplate TargetType="Button">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center">
                                <ContentPresenter.Content>
                                    <Border Name="border" 
                                          BorderThickness="0"                         
                                          BorderBrush="Transparent"                          
                                          Background="{TemplateBinding Background}">
                                        <Image x:Name="ButtonImage1" Source="Resources/copyPaste.png" Height="17" Width="17" />
                                    </Border>
                                </ContentPresenter.Content>
                            </ContentPresenter>
                            <ControlTemplate.Triggers>
                              <Trigger Property="IsMouseOver" Value="True">
                                  <Setter TargetName="border" Property="BorderBrush" Value="Black" />
                                    <Setter TargetName="ButtonImage1" Property="Source" Value="Resources/hoverImage.png" />
                                </Trigger>
                          </ControlTemplate.Triggers>
                      </ControlTemplate>
                  </Setter.Value>
              </Setter>
          </Style>
        </Grid.Resources>

请参阅我将您的控件放在内容演示器中,然后命名该图像,然后在控件模板触发器中,您可以通过其名称访问该图像,然后分配其来源。

Button

 <Button
           x:Name="Button1"
           Background="Transparent"
           Height="17"
           Width="17"
           BorderBrush="Transparent"
           HorizontalAlignment="Right" Margin="0 0 6 0" ToolTip="Copier les informations dans le Clipboard" Grid.Column="4" Style="{StaticResource hover2}"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM