ConverterParameter与Multibinding上的绑定

问题描述 投票:9回答:2

是否可以在MultiBinding中将Converter绑定添加到ConverterParameter?像这样的东西:

    <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中Binding不正确/允许...或者还有其他方法可以做到这一点?

映入眼帘,

于尔根

wpf data-binding hierarchicaldatatemplate multibinding
2个回答
11
投票

ConverterParameter不是DependencyProperty,因此数据绑定不能对它起作用。

为什么不在MultiBinding中添加另一个Binding?将IsFiltered作为另一个值发送:

        <MultiBinding Converter="{StaticResource filterConverter}" >
            <Binding Path="Children"/>
            <Binding Path="FilterChildren"/>
            <Binding Path="IsFiltered" />
        </MultiBinding>

0
投票

如果您有纯文本传递给多路转换器,只需按照下面的代码中的方式添加ConverterParameter。

<MultiBinding Converter="{StaticResource SortingDirectionImageMultiConverter}">
    <Binding Path="SortingColumnIdentifier"/>
    <Binding Path="IsSortingAscending"/>
    <MultiBinding.ConverterParameter>txtBlockConfigNumber</MultiBinding.ConverterParameter>
</MultiBinding>
© www.soinside.com 2019 - 2024. All rights reserved.