Windows 7でVisual Studio 2012を使用しています。グリッドの選択行の次のスタイルが背景色と前景色で機能しないが、 BorderBrushやBorderThicknessなどの他のプロパティについては?グリッド上にマウスを置いている間にそれらが変化するのを見ることができます。選択した行のWPF DataGrid RowStyleが背景色と前景色を変更しない
<Style x:Key="gridRowStyle" TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="PeachPuff"/>
<Setter Property="Foreground" Value="BlueViolet"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="PeachPuff"/>
<Setter Property="Foreground" Value="BlueViolet"/>
<Setter Property="BorderBrush" Value="BlueViolet" />
<Setter Property="BorderThickness" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
グリッドでの使用方法は次のとおりです。私は、私は次のように代わりにrowstyleのグリッドセルのスタイルを使用している場合、私はすでに問題の解決策を持っているとして、「なぜ」を知っているのではなく、問題を解決するために強調しています
<DataGrid RowStyle="{StaticResource gridRowStyle}">
:
で<Style x:Key="gridCellStyle" TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="PeachPuff"/>
<Setter Property="Foreground" Value="BlueViolet"/>
</Trigger>
</Style.Triggers>
</Style>
GridCellのコンテンツがGridRowにオーバーレイしている可能性がありますか?スヌープでコントロールを見てみましたか? – Dutts
投稿した内容を使って簡単なテストを実行しましたが、うまく動作します。 DataGridとRow定義の詳細を教えてください。 –
私はWPFの初心者です。以前はスヌープを使用していませんでした。何が起きているのか見てみましょう。おかげで....ここでも – user2071895