很久以前我问了一个问题并得到了帮助。要求略有改变。
原始问题: XAML: How do I make part of a GroupBox Header bold?
最初的要求是将标题文本硬编码为:
学生(最多:32)
Ed给我的解决方案是:
<GroupBox.Header>
<TextBlock>
<Span FontWeight="Bold">Students</Span>
<Span>(Max: 32)</Span>
</TextBlock>
</GroupBox.Header>
现在我需要将这两个部分绑定到某些依赖项属性,这样标题将显示为以下其中一个:
我需要绑定到这两个Span部分,类似于:
<GroupBox.Header>
<TextBlock>
<Span FontWeight="Bold">{Binding ProfessionString}</Span>
<Span>{Binding MaxString}</Span>
</TextBlock>
</GroupBox.Header>
,但显然{Binding ProfessionString}和{Binding MaxString}将逐字显示。
有办法吗?
感谢。
答案 0 :(得分:2)
您应该使用Run
元素并将其Text属性绑定到源属性:
<GroupBox.Header>
<TextBlock>
<Run FontWeight="Bold" Text="{Binding ProfessionString, Mode=OneWay}" />
<Run Text="{Binding MaxString, Mode=OneWay}" />
</TextBlock>
</GroupBox.Header>
答案 1 :(得分:1)
两个TextBlocks怎么样:
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontWeight="Bold" Text="{Binding ProfessionString}"/>
<TextBlock Text="{Binding MaxString}"/>
</StackPanel>
</GroupBox.Header>