2012-02-06 12 views
0

もう一度やり直してください。私が望むのは、テキストブロックを回転させることです。何も面倒なことはありません。 ItemsControlを使ってやりたいとは思っていません。なぜなら、それぞれの手紙のためにコントロールを使う必要があるからです。論争にもかかわらずItemsControlを使用せずに垂直テキストブロックを作成するにはどうすればよいですか?

enter image description here

+1

P.S. :-) nullの場合もありますそして、私が「あまりにも多くの評判を得ている」またはそれに類するものではないので、それを盲目的に削除しないでください。真剣に、そのように行動する必要はありません。 –

+0

[Wpf TextBlockの縦書きテキスト]の複製が可能です。(http://stackoverflow.com/questions/349875/vertical-text-in-wpf-textblock) –

+0

賞品*受け取りがあっても、回答。 –

答えて

2

それは重複だかどう、GlyphRunを含む、非常に低いレベルでの縦書きテキストを達成するための方法があるかもしれません。私は、詳細に、しかし、私が知っている、あなたはすべての文字が90°反時計回りに回転します を意味し、

trueに設定IsSidewaysプロパティでGlyphRunを作成
  1. しなければならないことをテストしていません

  2. はDrawingContextではにGlyphRunを描き、その上に90°時計回りにRotateTransform(PushTransform経由)DrawingContextとプッシュを取得します。

適切なDrawingContextを取得する簡単な方法は、UIElement.OnRenderをオーバーライドすることです。

注:GlyphRunのコンストラクタは、13個の引数を持っていますが、最後の6は

+0

興味深い。これは間違いなく私がさらに検討したいことです。 –

+0

素晴らしい。あなたがこのアプローチで成功したかどうか聞いてみたいと思います。 – Clemens

0
<TextBlock Width="7" HorizontalAlignment="Left"> 
     S<LineBreak/> 
     t<LineBreak/> 
     a<LineBreak/> 
     c<LineBreak/> 
     k 
</TextBlock> 
関連する問題