WPF TextBlock向左溢出文本

时间:2010-03-11 05:24:52

标签: wpf

作为背景我有一个很长的ID,太长了,无法显示在TextBlock的给定区域。 ID的有趣部分是结尾,即最右边的部分。

我想要做的是使用TextBlock,而不是文本溢出右边并切掉最右边的部分,向左溢出并切掉最左边的部分。

ID为123456,TextBlock有足够的空间容纳4个字符,以使TextBlock默认显示3456而不是1234

我可以手动修剪我的ID进行显示,但是给出了一个不太理想的可变间距字体。那么有什么方法可以让WPF改变溢出方向吗?

4 个答案:

答案 0 :(得分:5)

您只需在XAML中为TextBox设置以下属性FlowDirection =“RightToLeft”

答案 1 :(得分:4)

这是你想要获得的效果吗?听起来像是这样:

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel Width="200">  
      <TextBlock Background="Honeydew" HorizontalAlignment="Right">
        The quick brown fox jumped over the lazy dog's back
      </TextBlock>
    </StackPanel>
</Page>

答案 2 :(得分:2)

如果您还希望在用户将鼠标悬停在剪切的TextBlock上时显示全文,则有点棘手,但there is a technique

答案 3 :(得分:1)

为了在用户将鼠标悬停在TextBox上时显示整个文本,只需将ToolTip绑定到TextBox的Text属性:

ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"