我是一名WPF初学者,想使用DataTrigger编写WPF部分。
以下是所需逻辑:
如果变量“iBottleCount”≥10,则将标签的背景设置为绿色。 如果变量“iBottleCount”<10,则将标签的背景设置为黄色。 如果变量“iBottleCount”= 0,则将标签的背景设置为红色。
但我找不到目标名称为“StatusColor”的标签。
请查看下面的代码:
那么问题出在哪里呢?标签是在几行之前定义的。
以下是所需逻辑:
如果变量“iBottleCount”≥10,则将标签的背景设置为绿色。 如果变量“iBottleCount”<10,则将标签的背景设置为黄色。 如果变量“iBottleCount”= 0,则将标签的背景设置为红色。
但我找不到目标名称为“StatusColor”的标签。
请查看下面的代码:
<DataGridTemplateColumn Header="Status" Width="80" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="StatusText" Height="15" HorizontalAlignment="Left" Margin="2,2,2,2" Text="" VerticalAlignment="Top" Grid.Row="0" Grid.Column="1"/>
<Label x:Name="StatusColor" Content="" Background="green" HorizontalAlignment="Center" Margin="5,5,5,5" VerticalAlignment="Top" Height="10" Width="20" Grid.Row="0" Grid.Column="0"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<DataTrigger Binding="{Binding iBottleCount}" Value="=>10">
<!-- PROBLEM IS IN THIS LINE -->
<Setter TargetName="StatusColor" Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
那么问题出在哪里呢?标签是在几行之前定义的。