2

ItemsSource特定の要素のプロパティを別の要素のバインディングの 1 つとして使用したいと考えていますMultiBinding。これが私がこれまでに持っているものです:

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

これは 1 回 (が最初に設定されたとき) 機能しますが、元の要素のプロパティへのバインドにアイテムが追加または削除されItemsSourceた場合、バインドは更新されません。この種のバインディングは可能ですか?ObservableCollectionItemsSource

4

1 に答える 1

5

MultiBindingを強制的に再評価するには、次のようにダミーのバインド (値は必要ありません) を追加します。

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

編集:欠陥に気付きました:Count間にプロパティが変更されない場合に登録されないアイテムを移動する場合、これはおそらくあなたに関連しています。その場合、変更通知を発行できる独自のダミーにバインドできますCollectionChanged(ただし、いずれにしてもそれほどクリーンではありません)。

HighCore の提案を検討することをお勧めします。依存するすべての場所getで手動で起動する計算値を返す -only プロパティは、通常非常に便利です。PropertyChanged

于 2013-07-18T21:10:44.287 に答える