Как добавить полужирный текст и AccessText в метку или текстовый блок? - PullRequest
2 голосов
/ 23 октября 2010

У меня загадка WPF.Я хочу, чтобы какой-то текст выглядел следующим образом:

Введите подготовитель информация: [ComboBox]

Alt + E - клавиша доступа, которая фокусируетсяComboBox, и когда нажимается Alt, в тексте должна быть подчеркнута буква E.

Я могу легко заставить работать клавишу доступа:

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

Но тогда "подготовитель" может "не быть смелым, потому что метка не поддерживает прогоны (насколько я могу судить).

Я легко могу выделить жирным шрифтом в TextBlock:

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

Но ключ доступа не определен, поэтому я попытался добавить свой AccessText внутри TextBlock:

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

Но тогда AccessText не выравнивается должным образом с остальным текстом в TextBlock, и Margin, кажется, не влияет на него.

Пример: alt text

Лучшее, что я до сих пор придумал, это чудовище :

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

Что мне здесь не хватает?Похоже, должен быть более легкий путь.

1 Ответ

2 голосов
/ 24 октября 2010

Не сильно изменился, но как насчет

<Label Target="{Binding ElementName=PreparerComboBox}">
    <StackPanel Orientation="Horizontal">
        <AccessText>_Enter</AccessText>
        <TextBlock xml:space="preserve"> this <Bold>preparer's</Bold> info:</TextBlock>
    </StackPanel>
</Label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...