ユーザーコントロールにデータグリッドがあるwpf4.5アプリケーションがあります。Blendでデータグリッドのスタイルを設計しましたが、スタイルをVS 2012プロジェクトにコピーすると、正しく機能しません。
Blendの基本スタイルは次のようになります。
選択した行のテキストの色(緑)と編集中のテキストボックスの周囲のパディングに注意してください
これが、同じスタイルがVisualStudio2012のように見えるものです。
したがって、選択した行で強調表示されたテキストは背景と同じ色になり(非表示になります)、テキストボックスの境界線の色や余白をブレンドスタイルに合わせて変更することはできません。
セルスタイルは次のとおりです。
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border x:Name="border"
BorderBrush="Transparent"
BorderThickness="1"
Background="Transparent"
SnapsToDevicePixels="True"
Margin="15,10,15,10">
<ContentPresenter Name="CellContent" SnapsToDevicePixels="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="Green"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="#FFD8D8D8"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
そのため、前の色として緑色にマークされているトリガーはブレンドでは機能しますが、VisualStudioでは機能しないことがわかります。トリガーをなんらかの形でオーバーライドしているのはシステムカラーだと思いますが、これを追跡する方法がわかりません。
選択した行のテキストの色とテキストボックスの境界線/余白を設定して、このスタイルの問題を修正するのを手伝ってもらえますか。
これは、データグリッドスタイルのリソースディクショナリ全体へのリンクです
前もって感謝します