Datagridのセル選択時に際に表示される枠線を非表示にしてみます。
デフォルトではセルの選択時に枠線が表示される
下記コードは行をマウスオーバーすると背景がオレンジになるようにしています。
関連ページ
Datagridのマウスオーバー・選択時の色を変える[IsMouseOver][IsSelected]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<Grid> <DataGrid Name="dataGrid01" AutoGenerateColumns="False"> <!--各セルスタイル--> <DataGrid.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="BorderThickness" Value="0" /> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> <Style.Triggers> <Trigger Property="IsSelected" Value="True"> <Setter Property="Background" Value="Orange" /> <Setter Property="Foreground" Value="Black" /> </Trigger> </Style.Triggers> </Style> </DataGrid.CellStyle> <DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding Id}"> </DataGridTextColumn> <DataGridTextColumn Header="タイトル" Binding="{Binding Title}"> </DataGridTextColumn> <DataGridTextColumn Header="著者" Binding="{Binding Author}" Width="*"> </DataGridTextColumn> </DataGrid.Columns> </DataGrid> </Grid> |
8・9行目
BorderThicknessを0にすると、選択したセルの枠線が非表示になります。
10・11行目
FocusVisualStyleをNullに設定すると、キーボード操作によるセル選択時に表示される枠線が非表示になります。
セルの枠線が非表示になった様子
FocusVisualStyleを特に指定しない場合、キーボードによる操作でセルを移動させると、フォーカスされた部分のセルが点線で囲まれます(下記画像では太宰治の部分)。