gpt4 book ai didi

wpf - WPF-如何使用模板创建图像按钮

转载 作者:行者123 更新时间:2023-12-03 09:01:46 26 4
gpt4 key购买 nike

我正在尝试创建一个包含3张图像的按钮:正常图像,按下图像和禁用图像(我将使用它们来创建向上/向下箭头按钮)。

我相信正确的方法是从Button派生并使用Template并设置触发器来更改图像。我有3个依赖项属性,每个图像一个。

图像应为.png并具有透明背景(因为它们不是矩形)。

我正在寻找MFC中的CBitmapButton之类的东西。

最佳答案

您不需要依赖项属性,因为您是从Button继承的。您已经具有IsPressedIsEnabled属性。实际上,这就是您所需要的:

<Button x:Class="TestWpfApplication.ThreeStateImageButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Image Name="Normal" Source="Resources/Normal.png"/>
<Image Name="Pressed" Source="Resources/Pressed.png" Visibility="Hidden"/>
<Image Name="Disabled" Source="Resources/Disabled.png" Visibility="Hidden"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="Normal" Property="Visibility" Value="Hidden"/>
<Setter TargetName="Pressed" Property="Visibility" Value="Visible"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="Normal" Property="Visibility" Value="Hidden"/>
<Setter TargetName="Disabled" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>

使用您的UserControl代码隐藏文件:
public partial class ThreeStateImageButton : Button
{
public ThreeStateImageButton()
{
InitializeComponent();
}
}

关于wpf - WPF-如何使用模板创建图像按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1261908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com