我有一个包含不同列的表我在这段代码中显示了两个:
<DataGridTextColumn Header="Allocated" Binding="{Binding Allocated}" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource converter}">
<Binding Path="Current_Phase" />
<Binding Path="Status" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Op10}" Header="WIP OP10" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource converter}">
<Binding Path="Current_Phase" />
<Binding Path="Status" />
</MultiBinding>
</Setter.Value>
</Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
我遇到的问题我的IConverterClass正在返回背景颜色并且两者都是绿色,但我当前的阶段是“op30”(我的参数值),但仍然在改变列op10的颜色。我完全迷失了,请给他一个帮助。
我的转换器类
object IMultiValueConverter.Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string type = values[0].ToString();
string status = values[1].ToString();
if (type == "op10" && status == "10")
{
return Brushes.Green;
}
else if ( type == "op30" && status == "30")
{
return Brushes.Green;
}
else
{
return DependencyProperty.UnsetValue;
}
}
请Helppp,我不知道该怎么做。
答案 0 :(得分:0)
我不明白你的问题:
您的转换器为“op10”和“op30”返回绿色,并将该转换器绑定到两列,因此它将两列都更改为绿色。如果您不想更改op10列,请删除与转换器的绑定。