我是一名专业的 VB.NET 和 C# 与 Windows 窗体的 Windows 应用程序开发人员,现在非常高兴能够涉足 WPF 开发。这是我无法通过搜索解决的第一个问题:
我编写了以下模板来完全改变按钮的外观:
<ControlTemplate TargetType="{x:Type Button}" x:Key="ImageButtonTemplate">
<Grid>
<Image Name="img" Source="/PSPlayer;component/Images/Buttons/ButtonNormal_normal.png"/>
<ContentPresenter Stylus.IsTapFeedbackEnabled="False" Stylus.IsTouchFeedbackEnabled="False" Stylus.IsPressAndHoldEnabled="False" Stylus.IsFlicksEnabled="False" Width="98" Height="61"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="img" Property="Source" Value="/PSPlayer;component/Images/Buttons/ButtonNormal_MouseOver.png"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="img" Property="Source" Value="/PSPlayer;component/Images/Buttons/ButtonNormal_MouseDown.png"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
这里有一个按钮定义:
<Button Content="SomeText" Height="61" Margin="0,0,0,7" Name="button7" Width="98" Click="button7_Click" Template="{StaticResource ImageButtonTemplate}"/>
问题是,文本“SomeText”出现在按钮的左上角,我无法更改该位置。按钮的属性 HorizontalContentAlignment 和 VerticalContentAlignment 没有显示效果(我想知道为什么)。
另外,有时我想将文本定位到某个位置,例如 x=70,当背景图像中有一个符号时,它位于左侧,直到 x=60。
我在按钮内嵌入了一个标签,我可以定位但认为必须有一个更清洁的解决方案。
希望我说清楚了。顺便说一句,WPF rulez - 以及这个网站,我通过这里的帖子(来自谷歌)解决了我的大部分问题:)
提前致谢,
朱利安