我在.png中有一个彩色圆圈,其余部分是透明的。 我能够将该图像放在按钮上,但按钮的其余部分样式在图像的透明图像上可见。如何在正常,鼠标悬停和按下模式下隐藏它?
答案 0 :(得分:4)
试试这种风格
<Style x:Key="EmptyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="#00000000"/>
<Setter Property="BorderBrush" Value="#00000000"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
并使用如下
<Button Style="{DynamicResource EmptyButtonStyle}">
<Image Source="/Assets/circle.png" />
</Button>
答案 1 :(得分:0)
听起来您正在使用现有按钮的模板,只是添加了一个图像。您需要做的是修改按钮的<Template>
本身,以便它使用您的图像而不是默认模板。
如果您在“WPF模板”或“WPF圆形按钮”等内容上进行谷歌搜索,您可能会想出一些很好的例子。
答案 2 :(得分:-2)
我最终使用了最简单的解决方案(可能不是最优雅的)。
<Image x:Name="nextImage" MouseDown="nextButton_Click"></Image>