我的IconverterClass将值更改为我的所有列

时间:2011-05-18 09:39:50

标签: c# wpf binding

我有一个包含不同列的表我在这段代码中显示了两个:

<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,我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我不明白你的问题:
您的转换器为“op10”和“op30”返回绿色,并将该转换器绑定到两列,因此它将两列都更改为绿色。如果您不想更改op10列,请删除与转换器的绑定。