WPF标签中的自动换行符

时间:2010-03-19 15:03:48

标签: .net wpf wpf-controls line-breaks

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替换为TextBlock(拥有TextWrapping="Wrap"),并调整其控制模板以识别访问密钥可能是一种解决方案,但这不是一种过度杀伤吗?< / p>

编辑:标签的非标准样式会破坏蒙皮,所以我想尽可能避免使用它。

1 个答案:

答案 0 :(得分:9)

同时使用Label和TextBlock似乎是正确的答案。 There's a howto located here that demonstrates this exact issue.

具体来说,在他们的示例中,要获取包装文本和访问密钥:

<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>