0
이 WPF-xaml 코드에 대한 질문이 있습니다. xaml을 많이 사용하지는 않았지만이 코드로 내가 원하는 것을 얻을 수 있었다. 하지만 나는 그것이 좋은 습관이 아니라고 생각합니다. 먼저 특정 셀의 일부 값에 따라 행을 빨간색에서 녹색 또는 회색으로 변경하고 싶습니다. 각 셀에 대해 실제로 하나의 트리거를 유지해야합니까, 아니면 전체 행에서 동일한 트리거를 수행 할 여지가 있습니까? 행을 선택했을 때 나는 또한 특정 색상을 설정하려는하지만 스타일 "에 isSelected"를 지원하지 않는 것 ...DataGrid의 트리거
<DataGrid AutoGenerateColumns="False" IsReadOnly="True" HorizontalAlignment="Stretch" Margin="200,50,5,5" ItemsSource="{Binding}" Name="dataGrid1" VerticalAlignment="Stretch" EnableRowVirtualization="True" SelectionChanged="dataGrid1_SelectionChanged" MouseDoubleClick="dataGrid1_MouseDoubleClick">
<DataGrid.Columns>
<DataGridTextColumn Width="1*" Header="File name" Binding="{Binding Path=Filename}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="#68FF0000" />
<Style.Triggers>
<DataTrigger Binding="{Binding Errorcode}" Value="0">
<Setter Property="Background" Value="LightGreen"/>
</DataTrigger>
<DataTrigger Binding="{Binding Filename}" Value="File not created">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="1*" Header="Weight" Binding="{Binding Path=Info1}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="#68FF0000" />
<Style.Triggers>
<DataTrigger Binding="{Binding Errorcode}" Value="0">
<Setter Property="Background" Value="LightGreen" />
</DataTrigger>
<DataTrigger Binding="{Binding Filename}" Value="File not created">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="1*" Header="Rfid" Binding="{Binding Path=Info1}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="#68FF0000" />
<Style.Triggers>
<DataTrigger Binding="{Binding Errorcode}" Value="0">
<Setter Property="Background" Value="LightGreen" />
</DataTrigger>
<DataTrigger Binding="{Binding Filename}" Value="File not created">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="1*" Header="Date/Time" Binding="{Binding Datetime, StringFormat=\{0:yyyy.MM.dd HH:mm:ss\}}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="#68FF0000" />
<Style.Triggers>
<DataTrigger Binding="{Binding Errorcode}" Value="0">
<Setter Property="Background" Value="LightGreen" />
</DataTrigger>
<DataTrigger Binding="{Binding Filename}" Value="File not created">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Width="1*" Header="Error code" Binding="{Binding Path=Errorcode}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="#68FF0000" />
<Style.Triggers>
<DataTrigger Binding="{Binding Errorcode}" Value="0">
<Setter Property="Background" Value="LightGreen" />
</DataTrigger>
<DataTrigger Binding="{Binding Filename}" Value="File not created">
<Setter Property="Background" Value="LightGray" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Perfekt! 많이 도와 줬어! 감사합니다 – Nick3
도와 줘서 기뻐요 = D – Chris