ConverterParameter 与多重绑定上的绑定

发布于 2024-10-29 07:01:22 字数 773 浏览 10 评论 0原文

是否可以将 Binding 添加到 MultiBinding 中的 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 中的绑定不正确/不允许... 或者还有其他方法可以做到这一点吗?

问候,

于尔根

is it possible to add a Binding to a ConverterParameter in a MultiBinding?
Something like this:

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

Where IsFiltered is a Property on the Object that the Template is applied on.
I always get an XAML parser error that the Binding is not correct/allowed in ConverterParameter...
Or is there some other way to do this??

Greets,

Jürgen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光是把杀猪刀 2024-11-05 07:01:22

ConverterParameter 不是 DependencyProperty,因此数据绑定无法对其进行操作。

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

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

ConverterParameter is not a DependencyProperty, and therefore databinding can't work on it.

Why not add another Binding to the MultiBinding? send the IsFiltered as another value:

        <MultiBinding Converter="{StaticResource filterConverter}" >
            <Binding Path="Children"/>
            <Binding Path="FilterChildren"/>
            <Binding Path="IsFiltered" />
        </MultiBinding>
忆悲凉 2024-11-05 07:01:22

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

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

Just add the ConverterParameter the way I did it in the code below, if you have plain text to pass to the multiconverter.

<MultiBinding Converter="{StaticResource SortingDirectionImageMultiConverter}">
    <Binding Path="SortingColumnIdentifier"/>
    <Binding Path="IsSortingAscending"/>
    <MultiBinding.ConverterParameter>txtBlockConfigNumber</MultiBinding.ConverterParameter>
</MultiBinding>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文