Я ошибаюсь или свойства могут выполнять только один конвертер за раз? - PullRequest
1 голос
/ 26 января 2012

Этот стиль имеет шаблон ошибки и использует конвертер.

       <Style TargetType="{x:Type TextBox}">
            <Setter Property="Validation.ErrorTemplate">
                <Setter.Value>
                    <ControlTemplate />
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="True" >
                    <Setter Property="Background" Value="Salmon" />
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors),
                        Converter={x:Static waf:ValidationErrorsConverter.Default}}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

После этого мне нужно преобразовать текстовое значение в другое значение.

<TextBox Grid.Column="4" Text="{Binding Problem.Response, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True, NotifyOnValidationError=True, Converter={x:Static c:IntConverter.Default}}" >

В этом случае работает IntConverter. Дело в том, что если я удалю IntConverter, то использую ValidationErrorsConverter.Default.

Итак, мне нужно запустить два конвертера, когда это необходимо.

1 Ответ

1 голос
/ 26 января 2012

Не думайте, что можно связать более одного Converter в XAML. Что вы можете сделать, так это написать свой собственный, который на основе какого-либо внешнего состояния / переменной выполняет тот или иной код. Таким образом, у вас есть один преобразователь, который ведет себя по-разному в разных значениях.

...