您的位置:首页 > 其它

WPF 竖排文字(转)

2016-08-10 16:43 204 查看
---恢复内容开始---



想做一个WPF 文字竖排 类似上图。用在TabItem的header上面。

<TextBlock FontSize="30" Text="电
电
缆
信
息"></TextBlock>


第一种挺无聊的

2.wpf 装换器

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string str = (string)value;
//StringBuilder sb = new StringBuilder();
//for (int i = 0; i < str.Length; i++)
//{
//    if (i == str.Length - 1)
//    {
//        sb.Append(str[i]);
//    }

//    else
//    {
//        sb.Append(str[i]);
//        sb.Append(Environment.NewLine);
//    }

//}
//return sb.ToString();
}


其实就是加换行符

3.最后我发现这样做的效果最好

文字间距 一般
http://zhidao.baidu.com/link?url=5S37v1FFQKvwf0x5LQLqLzf4ANzqmNmc5J0Bi-c71fz52q0Eqkjg1p-4pPGCgOUhSLFHnMKMLVN4jK2zJ2EtOQLVJsvygcn2BM4QLe0-vXW
<TextBlock TextWrapping="Wrap" Background="Red" Padding="0" LineHeight="0.1" FontSize="50" Width="{Binding RelativeSource={RelativeSource Self},Path=FontSize}"  Text="尼玛啊啊啊啊">


4.总结 :

有思路用 DrawingContext 画 ,然后设置旋转角度,并不能实现
http://stackoverflow.com/questions/8815258/drawing-vertical-text-in-wpf-using-drawingcontext-drawtext
也有设置控件的
LayoutTransform 的,如果设置角度,并不能实现,控件旋转了,但是文字没有。


一个思考,tabitem 的header 是object 类型 的 可以放入listbox 设置ItemsSource 为字符数组 ,有点麻烦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: