在 TextBlock 中使用 TextTrimming = CharacterEllipsis 或 WordEllipsis 的内联对象

11
如果您运行此代码并最小化/最大化窗口宽度。
<TextBlock TextTrimming="WordEllipsis" >
    <Run Text="I want that this rectangle will be placed "/>
    <Rectangle Fill="Black" Width="20" Height="10" />
    <Run Text=" here when I minimize width of the window"/>
</TextBlock>

你将会看到矩形将会向左侧移动。 图片描述 图片描述

这是WPF中的一个bug吗?


1
我在WPF文档中没有找到任何关于InlineUIContainer(例如矩形)不受文本修剪限制的说明。因此,我认为这可能是WPF实现中的一个错误或WPF文档中的遗漏。建议您在Microsoft Connect上创建一个错误报告。 - user128300
2个回答

0

我猜这不是一个 bug。 尝试将 TextTrimming="WordEllipsis" 属性从文本块中移除(它会影响整个控件), 你会发现矩形不会随着窗口大小的改变而移动,因为你没有任何水平对齐属性。


0

虽然看起来像是一个错误,但这可能是一个解决方法:

<TextBlock TextTrimming="WordEllipsis" >
<Run Text="I want that this rectangle will be placed "/>
<Run Text="&#x25A0;" FontSize="40" BaselineAlignment="Center"/>
<Run Text=" here when I minimize width of the window"/>
</TextBlock>

请查看几何形状块中的Unicode字符

请注意,我尝试通过在“DockPanel”中依次放置三个“TextBlock”来解决它,但结果并不令人满意。 - rmojab63

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接