gpt4 book ai didi

c# - 在 MultiBinding 中使用另一个元素的 ItemsSource 属性

转载 作者:行者123 更新时间:2023-12-02 04:57:30 25 4
gpt4 key购买 nike

我想使用来自特定元素的 ItemsSource 属性作为另一个元素的 MultiBinding 中的绑定(bind)之一。这是我到目前为止所拥有的:

<Label>
<Label.Content>
<MultiBinding Converter="{converters:myMultiValueConverter}">
<Binding Path="PageIndex" />
<Binding ElementName="anotherElement" Path="ItemsSource"/>
</MultiBinding>
</Label.Content>
</Label>

这只工作一次(当 ItemsSource 初始设置时),但是当 ObservableCollection 绑定(bind)到原始元素的 ItemsSource 时,绑定(bind)无法更新> 属性添加或删除了项目。这种绑定(bind)可能吗?

最佳答案

像这样添加一个虚拟绑定(bind)(- 您不需要该值-)以强制重新评估 MultiBinding:

<Binding ElementName="anotherElement" Path="ItemsSource.Count"/>

编辑: 刚刚注意到一个缺陷:如果您移动不会注册的项目,如果这不会改变中间的 Count 属性,也许这与您有关.在那种情况下,您可以绑定(bind)到您自己的虚拟对象,您可以为此在 CollectionChanged 上触发更改通知(尽管在任何情况下都不是那么干净)。

您可能需要考虑 HighCore 的建议,一个仅返回计算值的 get 属性,您在它所依赖的所有地方手动触发 PropertyChanged 通常是很方便。

关于c# - 在 MultiBinding 中使用另一个元素的 ItemsSource 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17733870/

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