在WPF中设置按钮文本为加粗字符

18
4个回答

25

使用来容纳格式化文本:

<Button>
  <TextBlock>Hey <Bold>you</Bold>!!!</TextBlock>
</Button>

根据您的评论,如果您想明确指出这将设置 Content 属性,您可以使用 XAML 属性元素语法来实现:

<Button>
  <Button.Content>
    <TextBlock>Hey <Bold>you</Bold>!!!</TextBlock>
  </Button.Content>
</Button>

然而,这是多余的,因为Button有一个ContentPropertyAttribute,使得第一种方式与第二种方式完全等效。


太好了!那就可以了。现在,有办法把它放到内容里面吗?虽然我不需要,但只是想了解这里发生了什么。 - devoured elysium
1
不可以。属性只能保存纯文本。 - SLaks
你想要做的唯一方法就是按照发布的方式。当你使用Content属性时,它与在旧的WinForms中设置文本相同。 - Rob Allen
1
是的,但只能使用XAML属性元素语法。我已经更新了答案以展示如何操作,但再次强调,这样做是多余的:Button的子元素自动成为其内容。 - itowlson
这可以在VS2017中以同样的方式完成吗?请帮帮我,因为我无法做到。 - Sujay Ghosh

12

这将会起作用。

<Grid>
   <Button Name="button1" Width="40" Height="40" 
           Content="something" FontWeight="Bold" />
</Grid>

2
尝试使用以下代码:<Button><TextBlock>a<Bold>b</Bold>c</TextBlock></Button>

-1

我能想到的最简单的解决方案:

 private void ButtonClick(object sender, RoutedEventArgs e)
 {
     string buttonText = (sender as Button).Content.ToString();
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接