実際に、水平から-90度回転したものが私の意図です。私はこれを行う必要があります、ヘッダーのテキストがかなり長いが、セルの値が短いため、私は画面に多くの列を収めたいです。これを簡単に行うことは可能ですか、まずリソースとテンプレートについて知る必要がありますか?私は "ハック"の解決に気にしない!WPF DataGrid - 列見出しを縦書きに設定するにはどうすればよいですか?
2
A
答えて
12
これは全体ColumnHeaderCell回転します:
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="270" />
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
は注意してください:これはHorizontalContentAlignment
が、その後VerticalContentAlignment
とその逆であることを意味します。ここで
1
はそれを行うための別の方法です:
<Style x:Key="soDataGrid_ColumnHeaderRotateStyle" TargetType="DataGridColumnHeader" >
<Setter Property="ContentTemplate" >
<Setter.Value>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"
FontWeight="Bold" Width="60"
VerticalAlignment="Center" TextAlignment="Center"
HorizontalAlignment="Center">
<TextBlock.LayoutTransform>
<RotateTransform Angle="270" />
</TextBlock.LayoutTransform>
</TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
私はこのアプローチはあなたのコントロールの多くを与え見つける
<DataGridComboBoxColumn Header="Portrait/
Landscape" Width="42"
HeaderStyle="{StaticResource soDataGrid_ColumnHeaderRotateStyle}"
SelectedItemBinding="{Binding Orientation}"
ItemsSource="{Binding Mode=OneWay,
Source={StaticResource languageEnum}}" />
を次のようにあなたは、スタイルを使用することができます。長いヘッダーテキストに改行コードを使用すると便利です。
残念ながら、回転したテキストブロックの幅をハードコードする必要があることがわかりました。おそらく、テキストの内容に基づいてこの幅を設定する方が良いでしょう。
関連する問題
- 1. 右クリックコンテキストメニューをWPF 4 DataGridの列見出しに追加するにはどうすればよいですか?
- 2. WPF DataGridの列見出しを非表示にするにはどうすればいいですか?
- 3. WPF - DataGridの特定の行を別の色に設定するにはどうすればよいですか?
- 4. gnuplotの列見出しに軸ラベルを設定するにはどうすればよいですか?
- 5. Silverlight DataGridの列見出しのコンテキストメニューのみを表示するにはどうすればよいですか?
- 6. WPF DataGridで独自の列を定義するにはどうすればよいですか?
- 7. カスタム設定を検出するにはどうすればよいですか?
- 8. NLogをデータベースに書き込むように設定するにはどうすればよいですか?
- 9. DataGrid WPFで列選択を無効にするにはどうすればよいですか?
- 10. WPF ToolkitのDataGridのテンプレート列をソート可能にするにはどうすればよいですか?
- 11. Silverlight RichTextBoxで書式設定されたテキストを設定するにはどうすればよいですか?
- 12. CSSのクロスブラウザで縦書きテキストを描画するにはどうすればよいですか?
- 13. Google Charts - 縦書きのテキストでY軸ラベルを作成するにはどうすればよいですか?
- 14. SQLクエリをDataGridにバインドするにはどうすればよいですか?
- 15. 減速しているときに設定したコンテンツオフセットをUITableで上書きしないようにするにはどうすればよいですか?
- 16. BindingSourceの使用中に文字列を書式設定するにはどうすればよいですか?
- 17. 書式設定プレースホルダで文字列をローカライズするにはどうすればよいですか?
- 18. 空のExcelシートで列の書式を設定するにはどうすればよいですか?
- 19. linq式で文字列を書式設定するにはどうすればよいですか?
- 20. 変更をWPF DataGridに保存してデータベースに戻すにはどうすればよいですか?
- 21. javascript関数date()の出力を書式設定するにはどうすればよいですか?
- 22. ファイルの書式設定文字を検出するにはどうすればよいですか?
- 23. DataGridから特定のセルのフォアグラウンドを変更するにはどうすればいいですか?C#wpf
- 24. C#この出力を文字列に設定するにはどうすればよいですか?
- 25. PHP Spreadsheet_Excel_Writer:印刷品質を下書きに設定するにはどうすればよいですか?
- 26. 子リストまたは配列をDataGridにバインドするにはどうすればよいですか?
- 27. Excelの列の種類と書式を設定するにはどうすればよいですか?
- 28. wpfツールキットのDataGridからデータベースに変更を保存するにはどうすればよいですか?
- 29. Android - Honeycombでtabhost/tabwidgetを縦書きで表示するにはどうすればいいですか?
- 30. WPF ToolKit DataGridでローリングリフレッシュアニメーションを無効にするにはどうすればよいですか?
でも、これが欲しい –