Как я могу передать 2 значения моему классу ValueConverters? - PullRequest
1 голос
/ 11 апреля 2011

Я получил это на своем Xaml, я передаю значение, назначенное для изменения цвета gridcell. Но я хочу также проверить значение введенной переменной, чтобы я мог изменить его в соответствии с этим. Как я могу передать 2 значения, чтобы у меня были условия в классе iconverter.

<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>

Мой конвертер класса:

object IValueConverter.Convert (значение объекта, тип targetType, параметр объекта, System.Globalization.CultureInfo culture) {

         string input = value.ToString(); 

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

    }

Blockquote

Заранее спасибо!

1 Ответ

2 голосов
/ 11 апреля 2011

Использование 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>

и возьмите свое конвекционное приспособление IMultiValueConverter:

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