์๋ ํ์ธ์. ํน์ WinUI3 xaml ๊ฐ๋ฐ ์ค์ background binding ๊ด๋ จํด์ ๊ถ๊ธํด์ ์ง๋ฌธ ๋จ๊ฒจ์!
ModelView ์ ๊ฒฝ์ฐ์๋
public record User
{
public int Id { get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string Address { get; set; } = string.Empty;
public Color color { get; set; } = Colors.Red;
public string ColorValue { get; set; } = "Red";
}
xaml ์ ๊ฒฝ์ฐ์๋
<TextBlock
Grid.Row="0"
Grid.Column="0"
Style="{StaticResource TitleTextBlockStyle}"
Text="DataGrid"
/>
<controls:DataGrid
Grid.Row="1"
Grid.Column="0"
toolkit:ScrollBarExtensions.KeepVerticalExpanded="True"
toolkit:ScrollBarExtensions.VerticalAnnotations="{x:Bind Annotations, Mode=OneWay}"
AutoGenerateColumns="False"
GridLinesVisibility="All"
ItemsSource="{x:Bind Users}"
>
<controls:DataGrid.Columns>
<controls:DataGridTextColumn
Binding="{Binding Id}"
Header="ID" >
<controls:DataGridTextColumn.CellStyle>
<Style TargetType="controls:DataGridCell">
<Setter Property="Background" Value="{Binding color}"/>
</Style>
</controls:DataGridTextColumn.CellStyle>
</controls:DataGridTextColumn>
<controls:DataGridTextColumn
Binding="{Binding FirstName}"
Header="Key" />
<controls:DataGridTextColumn
Binding="{Binding LastName}"
Header="Expect Value"
/>
<controls:DataGridTextColumn
Binding="{Binding Address}"
Header="Result Value" />
</controls:DataGrid.Columns>
</controls:DataGrid>
์ ์ธ์ ObservableCollection Users ์ด๊ณ
Header ID Field์ background color๋ฅผ bindingํด์ ์ฌ์ฉํ๊ณ ์ถ์๋ฐ Value๊ฐ์ Blue๋ฅผ ๋ฃ๋ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก ์์ด ์ ์ฉ์ด ๋๋๋ฐ binding ํ ๊ฒฝ์ฐ์๋ ์ ์๋๋ค์
ํน์ ํด๊ฒฐ๋ฐฉ๋ฒ์ด๋ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ์ ๋ถ๋ถ ๊ณต์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!!!