首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何制作纯文本的Silverlight按钮?

如何制作纯文本的Silverlight按钮?
EN

Stack Overflow用户
提问于 2010-10-08 21:45:57
回答 2查看 693关注 0票数 1

我只是想要一个按钮,没有背景或任何东西,除了纯文本。我执行了以下操作,但该按钮根本没有显示:

代码语言:javascript
运行
复制
<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!"/>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-08 21:57:06

问题是按钮被设计成包含内容,而不是文本--它是一种ContentControl。因此,要显示内容,您的模板中应该包含以下内容:

代码语言:javascript
运行
复制
   <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从模板中去掉。创建自定义控件比为现有控件创建模板要稍微复杂一些,但这确实是获得您想要的东西的最佳方法。

票数 3
EN

Stack Overflow用户

发布于 2010-10-08 21:50:48

这是因为控件模板内的TextBlock没有模板绑定。像这样创建一个属性:

代码语言:javascript
运行
复制
<TextBlock Foreground="White" FontSize="28" FontFamily="Verdana" Padding="10" Text="{TemplateBinding Content}" />

我不确定这是不是正确的语法,但这就是概念。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3891152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档