2011-04-11 50 views
1

我已经在我的Xaml上获得了这个值,我将分配的值传递给gridcell颜色。但我也想同时检查输入的变量值,所以我可以根据这个改变。如何传递2个值,以便我可以在我的iconverter类上有条件。如何将2个值传递给我的ValueConverters类?

<DataGridTextColumn Binding="{Binding Allocated}" Header="Allocated" > 
        <DataGridTextColumn.ElementStyle> 
          <Style TargetType="{x:Type TextBlock}"> 
           <Setter Property="Background" Value="{Binding Allocated, Converter={StaticResource converter}}"/> 
          </Style> 
         </DataGridTextColumn.ElementStyle>  </DataGridTextColumn> 

我Converter类:

对象IValueConverter.Convert(对象的值,类型TARGETTYPE,对象参数,System.Globalization.CultureInfo培养){

  string input = value.ToString(); 

     switch (input) 
     { 
      case "99": 
       return Brushes.Green; 
      case "96": 
       return Brushes.Green; 
      case "91": 
       default: 
       return DependencyProperty.UnsetValue; 
     } 

    } 

块引用

在此先感谢!

回答

2

使用MultiBinding

<DataGridTextColumn.ElementStyle> 
    <Style TargetType="{x:Type TextBlock}"> 
     <Setter Property="Background"> 
      <Setter.Value> 
       <MultiBinding Converter="{StaticResource converter}"> 
        <Binding Path="Allocated" /> 
        <Binding Path="Entered" /> 
       </MultiBinding> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</DataGridTextColumn.ElementStyle> 

和AKE您convet实施IMultiValueConverter

public class MyConverter : IMultiValueConverter 
{ 
    public object Convert(object[] values, Type targetType, 
          object parameter, CultureInfo culture) 
    {... 
+0

感谢ü...它的工作我是新来WPF和wasnt意识到multibinding的。 – CPM 2011-04-11 11:11:45