ConverterParameter与Multibinding上的绑定

时间:2011-04-01 14:43:18

标签: wpf data-binding hierarchicaldatatemplate multibinding

是否可以在MultiBinding中向ConverterParameter添加Binding? 像这样:

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

迎接,

尔根

2 个答案:

答案 0 :(得分:11)

ConverterParameter不是DependencyProperty,因此数据绑定无法在其上运行。

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

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

答案 1 :(得分:0)

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

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