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 為字符數組 ,有點麻煩。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM