2
다음은 셀을 선택할 때 배경을 설정하는 방법의 예입니다. 실제로 셀을 클릭하여 편집하면 색상이 변경됩니다. 셀을 편집 할 때 트리거 속성이 있습니까? 나는 배경을 바꾸지 않을 것이다.셀을 편집하는 동안 WPF DataGrid 셀 배경을 어떻게 변경합니까?
<DataGrid Name="DG1" ItemsSource="{Binding}" SelectionUnit="Cell" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="SeaGreen"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
내 자신의 질문에 답하면 셀 배경색이 SystemColors.WindowBrushKey
에 기초한 것처럼 보입니다. 그런 <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="Red" />
과 같은 리소스를 무시하면 트릭을 만들었습니다. `
감사합니다. 훌륭한 솔루션이었습니다. –
좋은 해결책, 한 가지 문제 : 텍스트 상자가 자동으로 포커스를 맞추지 않습니다. FocusManager.FocusedElement = "{Binding RelativeSource = {RelativeSource Self}}" – Mark
모든 열의 형식이 DataGridTextColumn 인 경우에만 제대로 작동합니다. 텍스트 상자에 자동으로 포커스를 지정하려면 텍스트 특성에 다음 특성을 추가합니다. 다른 유형의 열 (예 : CheckBox가있는 DataGrigTemplateColumn)이 있으면 셀을 클릭 한 후 CheckBox 대신 TextBox가됩니다. 어떤 제안을 트리거에서 열 유형을 구별하는 방법? – dedpichto