[C# WPF] DataGrid Style 변경하기

우롱밀크티당도70·2023년 10월 25일
0

WPF

목록 보기
15/22
post-thumbnail
post-custom-banner

1. 배경

WPF DataGrid의 선 색, 굵기와 행을 선택했을 때 글자 색, 배경 색 변경 방법에 대하여...


2. 개발환경

  • VisualStudio 2022 / WPF 애플리케이션(.NET Framework 4.7.2)

3. 내용

  1. 화면에 배치한 DataGrid가 Grid 안에 있는 DataGrid여야 한다.
  2. DataGrid Style을 지정하는 태그들은 <Grid.Resources> 안에 작성한다.
  3. 가로 선은 Red, 세로 선은 Blue로 지정한다.
  4. Trigger로 행이 선택됐을 때(IsSelected가 True일때), 선택한 행의 Background 색은 Beige, Foreground 색은 Brown이 되도록 한다.
	<Grid Grid.Row="2" Margin="10,0,10,0">
            <Grid.Resources>
                <Style TargetType="DataGrid">
                    <Setter Property="HorizontalGridLinesBrush" Value="red"/>
                    <Setter Property="VerticalGridLinesBrush" Value="Blue" />
                </Style>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                </Style>
                <Style TargetType="DataGridCell">
                    <Style.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="Background" Value="Beige"/>
                            <Setter Property="Foreground" Value="Brown"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Grid.Resources>
            
            <DataGrid x:Name="ExcelData" ItemsSource="{Binding 
                <DataGrid.Columns>
                    <DataGridTextColumn Header="이름" Binding="{Binding NAME}"/>
                    <DataGridTextColumn Header="품목"  Binding="{Binding MANUFACTURER}"/>
                    <DataGridTextColumn Header="제조사" Binding="{Binding NUMBER}"/>
                    <DataGridTextColumn Header="날짜" Binding="{Binding INCOMING_DATE}"/>
                    <DataGridTextColumn Header="관리자" Binding="{Binding MANAGER}"/>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>

DataGridColumnHeader의 경우 가운데 정렬만 Style로 지정해놓았는데 다른 속성들과 마찬가지로 배경 색, 글자 색, 글자 크기 등의 Style 변경이 가능하다.


4. 결과

셀의 가로 선은 빨강, 세로 선은 파랑이고
선택한 행의 셀 배경 색이 베이지, 글자 색은 브라운이 되는 트리거가 작동된 것을 확인할 수 있다.

이건 Style이 적용되지 않은 기본 DataGrid


5. 참조

  • 마이크로소프트 공식 문서
profile
안뇽하세용
post-custom-banner

0개의 댓글