Автоматический разрыв строки в метке WPF - PullRequest
5 голосов
/ 19 марта 2010

Возможно ли для WPF Label автоматически разбить себя на несколько строк? В моем следующем примере текст обрезан справа.

<Window x:Class="..." xmlns="..." xmlns:x="..." Height="300" Width="300">
    <Grid>
        <Label>
            `_Twas brillig, and the slithy toves did gyre and gimble in the wabe:
            all mimsy were the borogoves, and the mome raths outgrabe.
        </Label>
    </Grid>
</Window>

Я что-то не так делаю?

К сожалению, использование других элементов управления не является хорошим вариантом, поскольку мне нужна поддержка клавиш доступа.

Замена Label на TextBlockTextWrapping="Wrap") и настройка его шаблона управления для распознавания ключей доступа может быть решением, но разве это не перебор?

Редактировать: использование нестандартного стиля для ярлыка нарушит скиннинг, поэтому я хотел бы избежать этого, если это возможно.

1 Ответ

9 голосов
/ 19 марта 2010

Совместное использование Label и TextBlock кажется правильным ответом. Здесь находится документ, демонстрирующий эту проблему.

В частности, в их примере, чтобы получить упаковочный текст и ключ доступа:

<Label Width="200" HorizontalAlignment="Left"
       Target="{Binding ElementName=textBox1}">
  <AccessText TextWrapping="WrapWithOverflow">
    _Another long piece of text that requires text wrapping
    goes here.
  </AccessText>
</Label>
...