我只是想要一个按钮,没有背景或任何东西,除了纯文本。我执行了以下操作,但该按钮根本没有显示:
<UserControl.Resources>
<ControlTemplate x:Key="linkButtons" TargetType="Button">
<TextBlock Foreground="White" FontSize="28" FontFamily="Verdana" Padding="10"></TextBlock>
</ControlTemplate>
</UserControl.Resources>
<Button Template="{StaticResource linkButtons}" Content="Hello World!"/>发布于 2010-10-08 21:57:06
问题是按钮被设计成包含内容,而不是文本--它是一种ContentControl。因此,要显示内容,您的模板中应该包含以下内容:
<ContentPresenter x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>无论是还是,你都可以创建一个基于按钮的自定义控件,给它添加一个Text属性,在模板中使用当前的TextBlock控件(但使用Text="{Binding Text}"),并将ContentPresenter从模板中去掉。创建自定义控件比为现有控件创建模板要稍微复杂一些,但这确实是获得您想要的东西的最佳方法。
发布于 2010-10-08 21:50:48
这是因为控件模板内的TextBlock没有模板绑定。像这样创建一个属性:
<TextBlock Foreground="White" FontSize="28" FontFamily="Verdana" Padding="10" Text="{TemplateBinding Content}" />我不确定这是不是正确的语法,但这就是概念。
https://stackoverflow.com/questions/3891152
复制相似问题