• WPF 竖排文字


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

    想做一个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 为字符数组 ,有点麻烦。

  • 相关阅读:
    [Scala] akka actor编程(一)
    随便说说
    [Java] Java执行Shell命令
    [Scala] Scala基础知识
    [Linux] 账户管理命令(二)
    [Linux] 账户管理命令(一)
    [Kerberos] Java client访问kerberos-secured cluster
    沟通与影响技术培训
    Python
    ML 基础知识
  • 原文地址:https://www.cnblogs.com/aguan/p/5757038.html
Copyright © 2020-2023  润新知