【问题标题】:WPF buttons with both image and text带有图像和文本的 WPF 按钮
【发布时间】:2014-12-22 10:39:30
【问题描述】:

这是我的按钮样式控件模板。

<StackPanel Orientation="Horizontal">
    <Image x:Name="EmailImage" Source="../Images/btn__icon_savedisk.png" Height="17" Width="17" Stretch="None" RenderOptions.BitmapScalingMode="NearestNeighbor" />
    <TextBlock x:Name="EmailImageTxt" Margin="20,0,20,0" Foreground="White" Text="{x:Static res:Localize.SAVE}" Background="{x:Null}" />
</StackPanel>

我的问题是当我将鼠标指针悬停在图像和文本按钮(图像和文本)之间的空间未选择的区域上时。我需要将鼠标焦点放在所有按钮上。

感谢您的帮助。

【问题讨论】:

    标签: wpf button styles


    【解决方案1】:

    将 Background="Transparent" 设置为 stackpanel 并按预期工作。


    没有背景的控件在 XAML 术语中通常称为不可命中的。所以必须设置一个背景来使物体响应点击。

      <Button VerticalAlignment="Center" HorizontalAlignment="Center">
        <Button.Template>
            <ControlTemplate>
                <StackPanel x:Name="stackpanel"  Orientation="Horizontal">
                    <Image x:Name="EmailImage" Source="Black.jpg" Height="17" Width="17" Stretch="None" RenderOptions.BitmapScalingMode="NearestNeighbor" />
                    <TextBlock x:Name="EmailImageTxt" Margin="20,0,20,0" Foreground="Black" Text="gdfgdg}" Background="{x:Null}" />
                </StackPanel>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" Value="Red" TargetName="stackpanel"></Setter>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Button.Template>
    </Button>
    

    【讨论】:

      猜你喜欢
      • 2011-02-13
      • 1970-01-01
      • 2012-06-09
      • 2011-02-11
      • 2012-09-03
      • 2011-10-11
      • 2013-07-10
      • 2011-04-24
      相关资源
      最近更新 更多