改行表示できるHyperLinkを作成します.
2329 ワード
この間、DataGridにHyperlinkを入れたら、文字が長すぎて、不完全な表示が出てきました.Hyperlinkはデフォルトでは改行表示されませんので、デフォルトのスタイルを変更して、Hyperlinkを自動的に改行させます.
まずここのCopyのデフォルトのスタイルからスタイル.xamlファイルの中まで:http://msdn.microsoft.com/zh-cn/library/cc296242(VVS.95).aspx
デフォルトのスタイルからは、TextBlockを修正し、TextWrapping=「Wrap」を加えるだけでいいということが分かります.修正したスタイルは以下の通りです.
BTWは、DataGridの幅を設定してください.でないと意味がありません.
まずここのCopyのデフォルトのスタイルからスタイル.xamlファイルの中まで:http://msdn.microsoft.com/zh-cn/library/cc296242(VVS.95).aspx
デフォルトのスタイルからは、TextBlockを修正し、TextWrapping=「Wrap」を加えるだけでいいということが分かります.修正したスタイルは以下の通りです.
<TextBlock
x:Name="NormalTextBlock"
Text="{TemplateBinding Content}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Margin="{TemplateBinding Padding}"
Visibility="Visible" TextWrapping="Wrap" />
<TextBlock
x:Name="UnderlineTextBlock"
Text="{TemplateBinding Content}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Margin="{TemplateBinding Padding}"
TextDecorations="Underline"
Visibility="Collapsed" TextWrapping="Wrap" />
<TextBlock Canvas.ZIndex="1"
x:Name="DisabledOverlay"
Text="{TemplateBinding Content}"
Foreground="#FFAAAAAA"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Margin="{TemplateBinding Padding}"
Visibility="Collapsed" TextWrapping="Wrap" />
DataGridの中のHyperlinkアプリケーションのスタイルです.運転後、ゴーストの問題があります.スタイル中のContit Presenterの部分を削除すればいいです.BTWは、DataGridの幅を設定してください.でないと意味がありません.