我几天来一直在研究控制模板,我成功地将按钮更改为椭圆,但是当我想创建一个控件模板,按钮被显示为图像时,我不成功。如果有的话一个人可以知道,请帮助我。
答案 0 :(得分:3)
以下xaml显示的按钮的ControlTemplate
仅包含图片:
<Button>
<Button.Template>
<ControlTemplate>
<Image Source="/arrow_down_blue.png" Stretch="None" />
</ControlTemplate>
</Button.Template>
</Button>
如果无法使其正常工作,请确保图像的路径有效。最简单的方法是通过右键单击解决方案资源管理器中的图像并将Resource
设置为Build Action
,将图像添加到解决方案并将其标记为Resource
。然后,您可以在表单上使用所谓的包URI来引用该图像:
/FolderName/OtherFolderName/FileName.png
上面的路径是相对于当前项目的根目录。
还可以通过Style
或通过将按钮的Template
属性设置为StaticResource
来设置ControlTemplate:
<Grid>
<Grid.Resources>
<ControlTemplate x:Key="ImageButtonTemplate">
<Image Source="/arrow_down_blue.png" Stretch="None" />
</ControlTemplate>
<Style TargetType="Button" x:Key="ImageButtonStyle">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Image Source="/arrow_down_blue.png" Stretch="None" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<StackPanel>
<Button Template="{StaticResource ImageButtonTemplate}" />
<Button Style="{StaticResource ImageButtonStyle}" />
</StackPanel>
</Grid>
有关如何向控件模板添加触发器的示例,请参见this question。