恢復內容開始 想做一個WPF 文字豎排 類似上圖。用在TabItem的header上面。 第一種挺無聊的 2.wpf 裝換器 其實就是加換行符 3.最後我發現這樣做的效果最好 文字間距 一般 http://zhidao.baidu.com/link?url=5S37v1FFQKvwf0x5LQLqL ...
---恢復內容開始---
想做一個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 為字元數組 ,有點麻煩。