2010-03-11 45 views
3

作为背景我有一个很长的ID过长在TextBlock的给定区域显示。 ID的有趣部分是结尾,即最右边的部分。WPF TextBlock的溢出文本左

我希望做的是有TextBlock的,而不是文字四溢权,切断了最右边的部分,溢出左,截止最左边的部分。

这是给出的ID 123456和一个TextBlock有足够的空间来容纳四个字符,让TextBlock显示3456而不是1234,因为它默认情况下。

我可以手动修整我的ID进行显示,但由于可变间距的字体,这不是理想的。那么有没有办法让WPF改变溢出方向?

回答

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

你只需要设置在XAML下列属性的FlowDirection =“从右至左”的文本框

+0

这doen't工作为TextBlocks。 – 2010-03-11 09:36:36

2

如果你也想显示完整的文本,当用户将鼠标悬停他们的鼠标移动到剪辑TextBlock的,这是一个有点棘手,但there is a technique

1

为了显示整个文本,当用户将鼠标悬停在文本框,只需绑定工具提示文本框的Text属性:

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