码迷,mamicode.com
首页 > Windows程序 > 详细

WPF 竖排文字

时间:2016-08-10 15:55:45      阅读:504      评论:0      收藏:0      [点我收藏+]

标签:

---恢复内容开始---

技术分享

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

 

<TextBlock FontSize="30" Text="电&#x0a;电&#x0a;缆&#x0a;信&#x0a;息"></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 为字符数组 ,有点麻烦。

 

WPF 竖排文字

标签:

原文地址:http://www.cnblogs.com/aguan/p/5757038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!