作为背景我有一个很长的ID,太长了,无法显示在TextBlock的给定区域。 ID的有趣部分是结尾,即最右边的部分。
我想要做的是使用TextBlock,而不是文本溢出右边并切掉最右边的部分,向左溢出并切掉最左边的部分。
ID为123456
,TextBlock有足够的空间容纳4个字符,以使TextBlock默认显示3456
而不是1234
。
我可以手动修剪我的ID进行显示,但是给出了一个不太理想的可变间距字体。那么有什么方法可以让WPF改变溢出方向吗?
答案 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}"