如何将粗体文本和AccessText添加到Label或TextBlock?

时间:2010-10-22 20:27:34

标签: wpf xaml

我有一个WPF难题。我希望有些文字看起来像这样:

  

输入此编制者信息:   [组合框]

Alt + E是聚焦ComboBox的访问键,当按下Alt时,文本中的E应加下划线。

我可以轻松获取访问密钥:

<Label Target="{Binding ElementName=PreparerComboBox}">
    _Enter this preparer's info:</Label>

然后“preparer's”不能大胆,因为Label不支持Runs(据我所知)。

我可以在TextBlock中轻松地进行粗体化:

<TextBlock>Enter this <Bold>preparer's</Bold> info:</TextBlock>

但是没有定义访问键,所以我尝试在TextBlock中添加我的AccessText:

<Label Target="{Binding ElementName=PreparerComboBox}">
    <TextBlock>
        <AccessText>_Enter</AccessText> this <Bold>preparer's</Bold> info:
    </TextBlock>
</Label>

但是AccessText与TextBlock中的其余文本没有正确对齐,而且Margin似乎对它没有任何影响。

实施例: alt text

到目前为止,我提出的最好的是 monstrosity

<Label Target="{Binding ElementName=PreparerComboBox}">
    <WrapPanel>
        <AccessText>_E</AccessText>
        <TextBlock>nter this <Bold>preparer's</Bold> info:</TextBlock>
    </WrapPanel>
</Label>

我在这里缺少什么?似乎必须有一个更简单的方法。

1 个答案:

答案 0 :(得分:2)

没有太大改变但是怎么样

<Label Target="{Binding ElementName=PreparerComboBox}">
    <StackPanel Orientation="Horizontal">
        <AccessText>_Enter</AccessText>
        <TextBlock xml:space="preserve"> this <Bold>preparer's</Bold> info:</TextBlock>
    </StackPanel>
</Label>