C# 使用另一个元素';多重绑定中的s ItemsSource属性

C# 使用另一个元素';多重绑定中的s ItemsSource属性,c#,wpf,xaml,binding,itemssource,C#,Wpf,Xaml,Binding,Itemssource,我想使用特定元素的ItemsSource属性作为另一个元素的多重绑定中的绑定之一。以下是我目前掌握的情况: <Label> <Label.Content> <MultiBinding Converter="{converters:myMultiValueConverter}"> <Binding Path="PageIndex" /> <Binding ElementName="anotherElement

我想使用特定元素的
ItemsSource
属性作为另一个元素的
多重绑定中的绑定之一。以下是我目前掌握的情况:

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

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

像这样添加一个虚拟绑定(-您不需要值-)以强制重新计算
多重绑定

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

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


您可能想考虑HyLeCo的建议,一个“代码>获取<代码> >唯一的属性,该属性返回手动计算的值,在它所依赖的所有地方手动操作<代码>属性更改< /代码>通常是非常方便的。

这听起来真的很像我希望在VIEW模型级别上解决的东西。你的
myMultiValueConverter
是做什么的?同意@HighCore的说法-你把逻辑放在你的视图中,本质上-你应该把它提升到你的ViewModel并在那里处理它。很好,正是我需要的。在我的特殊情况下,我不必担心物品的移动——它们只会被添加或删除。