問題タブ [fallbackvalue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
784 参照

c# - バインディングから一致しない場合は、項目を itemssource に追加します

ここに私のシナリオがあります。さまざまなタイトルとその IDのComboBox場所がありitemssourceます。Dictionary<int, string>これらのタイトルは、将来のある時点で無効になる可能性があるため、今後は表示されComboBoxません。ただし、古いアイテムを表示するときは、現在アクティブなタイトルに加えて、この古い値を表示できる必要があります。以下でもう少しよく視覚化してみます。

今日:

ComboBox アイテムは以下で構成されます。

  • 1、タイトル1
  • 2、タイトル2
  • 3、タイトル3

Title3 が選択され、ID (3) が格納されます。

明日:

Title3 が無効になり、Title4 が追加されるため、アイテムは次のようになります。

  • 1、タイトル1
  • 2、タイトル2
  • 4、タイトル4

ただし、昨日の値がバインドしている値 (ID 3) である場合、一致するアイテムはありません。理想的には、次のように古いアイテムを最後に追加したいと思います。

  • 1、タイトル1、
  • 2、タイトル2
  • 4、タイトル4
  • 3、タイトル3

明らかに、有効なタイトルと無効なタイトルの個別のリストがあり、適切にバインドされていないアイテムは、無効なタイトル変数を参照できます。

私は調査fallbackValuesPriorityBindingsましたが、私がやろうとしていることにそれらを適合させる方法を見つけることができないようです. おそらく、ある種のコンバーターと一緒に使用されfallbackValueますか?ヘルプとフィードバックに感謝します。

また、参考までに、これは私が現在作業しているコードです (データグリッドでこれを実行しようとしています)。

WPF:

ViewModel の関連コード:

編集 - 作業コード これは、すべてを機能させるために使用したコードです。ItemsSource は、コンバーターを使用して MultiBinding に更新されました。MultiBinding には、Active TaskTitles、All TaskTitles、および ID が含まれます。これらはすべてコンバーターに渡されるため、ID はアクティブ リストでチェックされ、アクティブでない場合は追加されます。助けてくれてありがとう!

WPF

コンバーターのコードビハインド