非アクティブ時のデータグリッドの選択行の色
2023-09-02 20:29:24
質問
WPF DataGridがフォーカスを失ったとき、選択された行の色を変更するには、どのようにスタイルを設定すればよいですか?
どのように解決するのですか?
自分で答えを見つける。
DataGridのリソースに、背後のコードから「Color」プロパティを変更できるブラシを追加し、それにHighlightBrushKeyを参照します。
<DataGrid.Resources>
<SolidColorBrush x:Key="SelectionColorKey" Color="DarkGray"/>
<Style TargetType="DataGridRow">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="{Binding Source={StaticResource SelectionColorKey}, Path=Color}"/>
</Style.Resources>
</Style>
</DataGrid.Resources>
次にDataGridsのイベントハンドラを追加して、手動で色を変更します。
private void DataGrid1_LostFocus(object sender, RoutedEventArgs e)
{
((SolidColorBrush)DataGrid1.Resources["SelectionColorKey"]).Color = Colors.DarkGray;
}
private void DataGrid1_GotFocus(object sender, RoutedEventArgs e)
{
((SolidColorBrush)DataGrid1.Resources["SelectionColorKey"]).Color = SystemColors.HighlightColor;
}
private void DataGrid1_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
((SolidColorBrush)DataGrid1.Resources["SelectionColorKey"]).Color = Colors.DarkGray;
}
関連
-
[解決済み] .NETを使用して16進数のカラーコードから色を取得するには?
-
[解決済み] WPFバインディングを使用して2つのコマンドパラメータを渡す
-
[解決済み] Prism for WPFとは?
-
[解決済み] DataGridで選択された行の色を設定するには?
-
[解決済み] WPFのRounded Cornerコンテナを作成するには?
-
[解決済み] XAMLにunicode文字を入れるには?
-
[解決済み] wpf データグリッドの行セレクタを隠すには?
-
[解決済み] WPFにDesignModeプロパティはありますか?
-
[解決済み] すべてのコントロールをターゲットにする方法 (WPF Styles)
-
[解決済み] データバインディングプロパティでデータグリッドの行の背景を設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataTrigger where value is NOT null?
-
[解決済み] DataGridで選択された行の色を設定するには?
-
[解決済み] ItemsControlの仮想化?
-
[解決済み] データバインディングでWPFハイパーリンクのテキストを設定するにはどうすればよいですか?
-
[解決済み] WPFウィンドウのハンドルを検索する
-
[解決済み] WPF検証エラーの検出
-
[解決済み] WPFコマンドライン
-
[解決済み] WPF ToolkitのDataGridTemplateColumnでソートするにはどうしたらいいですか?
-
[解決済み] ListBoxに垂直スクロールバーを表示させるには?
-
[解決済み] WPF : ダイアログをアプリケーションの中心に表示させるには?