Параметр ConverterParameter с привязкой на мультисвязке - PullRequest
9 голосов
/ 01 апреля 2011

возможно ли добавить привязку к параметру ConverterP в MultiBinding?Примерно так:

    <HierarchicalDataTemplate DataType="{x:Type Elements:RootElement}">
        <HierarchicalDataTemplate.ItemsSource>
            <MultiBinding Converter="{StaticResource filterConverter}" ConverterParameter="{Binding IsFilterd}">
                <Binding Path="Children"/>
                <Binding Path="FilterChildren"/>
            </MultiBinding>
        </HierarchicalDataTemplate.ItemsSource>
        <TextBlock Text="{Binding Name}" FontWeight="Normal"/>
    </HierarchicalDataTemplate>

Где IsFiltered - это свойство объекта, к которому применяется шаблон.Я всегда получаю ошибку синтаксического анализатора XAML, что привязка неверна / разрешена в ConverterParameter ... Или есть какой-то другой способ сделать это?

Ответы [ 2 ]

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

ConverterParameter не является DependencyProperty, и поэтому привязка данных не может работать с ним.

Почему бы не добавить еще одну привязку в MultiBinding?отправить IsFiltered как другое значение:

        <MultiBinding Converter="{StaticResource filterConverter}" >
            <Binding Path="Children"/>
            <Binding Path="FilterChildren"/>
            <Binding Path="IsFiltered" />
        </MultiBinding>
0 голосов
/ 19 февраля 2019

Просто добавьте параметр ConverterParameter, как я это сделал в приведенном ниже коде, если у вас есть простой текст для передачи на мультиконвертер.

<MultiBinding Converter="{StaticResource SortingDirectionImageMultiConverter}">
    <Binding Path="SortingColumnIdentifier"/>
    <Binding Path="IsSortingAscending"/>
    <MultiBinding.ConverterParameter>txtBlockConfigNumber</MultiBinding.ConverterParameter>
</MultiBinding>
...