gpt4 book ai didi

wpf - 如何在 CollectionChanged 上更新 IValueConverter?

转载 作者:行者123 更新时间:2023-12-04 18:16:52 26 4
gpt4 key购买 nike

这是解释我的问题的基本示例。假设我有

ObservableCollection<int> Numbers {get; set;}

和一个返回数字总和的 IValueConverter。

通常我要做的是将 IValueConverter 更改为 IMultiValueConverter 并将第二个值绑定(bind)到 Numbers.Count 像这样
<MultiBinding Converter="{StaticResource SumTheIntegersConverter}">
<Binding Path="Numbers" />
<Binding Path="Numbers.Count" />
</MultiBinding>

但是我无法使用这种方法来解决我的实际问题。当我没有想到的集合发生变化时,似乎应该有更好的方法来更新绑定(bind)。在 Numbers 中添加和删除项目时,让值转换器运行的最佳方法是什么?

最佳答案

这实际上非常困难。 IValueConverter 不会更新,因此这不会像您希望的那样工作。

我在 Microsoft Expression Gallery 上写了一个示例,名为 Collection Aggregator这显示了一种可行的(如果复杂的)方法来通过为您而不是转换器进行聚合(在您的情况下为计数,尽管我也支持 Sum、Average 等)的行为来使这项工作工作。

关于wpf - 如何在 CollectionChanged 上更新 IValueConverter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com