我有一个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似乎对它没有任何影响。
实施例:
到目前为止,我提出的最好的是 monstrosity :
<Label Target="{Binding ElementName=PreparerComboBox}">
<WrapPanel>
<AccessText>_E</AccessText>
<TextBlock>nter this <Bold>preparer's</Bold> info:</TextBlock>
</WrapPanel>
</Label>
我在这里缺少什么?似乎必须有一个更简单的方法。
答案 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>