使用另一个元素';s MultiBinding中的ItemsSource属性
本文关键字:MultiBinding 中的 ItemsSource 属性 另一个 元素 | 更新日期: 2023-09-27 18:23:46
我想使用某个特定元素的ItemsSource
属性作为另一个元素MultiBinding
中的绑定之一。到目前为止,我拥有的是:
<Label>
<Label.Content>
<MultiBinding Converter="{converters:myMultiValueConverter}">
<Binding Path="PageIndex" />
<Binding ElementName="anotherElement" Path="ItemsSource"/>
</MultiBinding>
</Label.Content>
</Label>
这只起作用一次(当最初设置ItemsSource
时),但当绑定到原始元素的ItemsSource
属性的ObservableCollection
添加或删除了项时,绑定无法更新。这种捆绑可能吗?
添加这样的伪绑定(-您不需要值-)来强制重新评估MultiBinding
:
<Binding ElementName="anotherElement" Path="ItemsSource.Count"/>
编辑:刚刚注意到一个缺陷:如果您移动了不会注册的项目(如果这不会更改其间的Count
属性),那么这可能与您有关。在这种情况下,您可以绑定到自己的虚拟对象,以便在CollectionChanged
上触发更改通知(但无论如何都不是那么干净)。
您可能需要考虑HighCore的建议,一个只返回计算值的get
属性通常非常方便,您可以在它所依赖的所有位置手动激发PropertyChanged
。