問題タブ [itemssource]

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 に答える
199 参照

c# - 追加に応答するために ObservableCollection にバインドされた UserControl 派生クラスを取得するにはどうすればよいですか?

ListView を使用でき、追加に正しく応答するため、コレクションは問題ないように見えますが、リストビューを UserControl にネストすると、そうではありません。関連するコードを提供しました。

この方法で UserControl 派生クラスを作成しました。

次のような XAML を使用します。

私の消費 XAML は次のようになります。

コレクションは次のように定義されます。

0 投票する
0 に答える
257 参照

wpf - グリッドにComboBoxを入力する

私はViewModel2つのコレクションプロパティを持っています。DataContextこれに設定されているページのフォームフィールドに入力するために使用するコレクションの1つViewModel。このフォームには、コレクションが入力されているフィールドの中に、他のComboBoxコレクションを入力したいものもあります。

グリッドを使用してレイアウトを行います。このグリッドDataContextは最初のコレクションに設定されています。グリッドの外側にあるときはComboBox、2番目のコレクションで簡単に埋めることができます。しかし、それがグリッドにあるときにそうしようとすると、それを成し遂げることができないようです。

コードスニペットでは、グリッドをに設定しDataContextましたItemTypes。フィールドからItemTypes値を取得できます。ComboBoxただし、他のコレクションから値を取得する必要があります。

0 投票する
1 に答える
175 参照

wpf - WPF によるデータ バインディング

私はWPFが初めてで、これはしばらくの間私を困惑させました:

モデルに、tabControl にバインドされた People オブジェクトの observableCollection があります。したがって、新しい People オブジェクトが追加されるたびに、People.Title をタブのヘッダーとして使用して新しいタブが作成されます。

各 People オブジェクトには、Friend オブジェクトの ObservableCollection があります。タブの内部には、Friend.FirstName 用と Friend.LastName 用の 2 つのテキスト ボックスのリストが必要です。

最初の要件は正常​​に機能していますが、2 番目の要件では「ItemsSource は既に使用されています」というエラーが表示されます

これまでの私のコードは次のとおりです。

私はあなたの助けに感謝します。

0 投票する
3 に答える
6507 参照

wpf - Button.Click の ListBox.ItemsSource Binding プロパティを変更しますか?

簡単な質問...

次のように、ビューモデルのコレクション プロパティにプロパティがバインドされていますListBoxItemsSource

また、同じビューに 2 つのButtonオブジェクトがあります。問題は... XAML のみを使用CollectionsListBox ItemsSource BindingするActivity.Timesheetsように変更できますか?Activity.Attachments

コマンドオブジェクトを使用してビューモデルから失敗しましたか?

編集 >>>

ハワードの回答の一部からRadioButtons の代わりにsを使用して、簡単な解決策を見つけました。Button

助けてくれてありがとう。

0 投票する
1 に答える
228 参照

c# - カスタム コントロールで ItemsControl の動作を模倣する

私はクラスマーカーを持っています

他のプロパティとともに、マーカーのコレクションを公開するカスタム コントロール

ItemsControl の動作を模倣し、コンポーネントのユーザーが直接または ItemsSource の類推を使用してマーカーを指定できるようにしたいと考えています。さらに、両方のメソッドでデータバインディングをサポートしたい (できれば XAML で)

マーカーを直接

MarkersSource を使用したマーカー

最初の方法は非常に簡単ですが、2番目の方法に苦労しています。

MarkesSource を実装するにはどうすればよいですか? UserSpecifiedCollection のアイテムを Marker タイプに変換するにはどうすればよいですか? UserSpecifiedCollection アイテムのプロパティを Marker のプロパティにデータバインドするにはどうすればよいですか?

変換に関しては、ValueConvertor を使用できると思いますが、DataTemplates のような純粋な XAML ソリューションをお勧めします。可能です?

0 投票する
1 に答える
3605 参照

wpf - ObservableCollection にバインドされたリストボックスの並べ替え

リストボックスの内容を並べ替えるにはどうすればよいですか? 並べ替えはビジネス ロジックに影響を与えないため、これを UI レイヤーのみに保持する方が理にかなっているように思えます。私は正確に何をすべきかを理解することはできません。

0 投票する
1 に答える
2492 参照

wpf - WPF:ICollectionView-アイテムが別のリストに含まれている場合、1つのリストをフィルター処理しますか?

基本的に、2つのListViewがそれぞれ異なるにバインドされていますItemsSource

リスト1は変更できません(これはReadOnlyObservableCollection)です。
リスト2は(ユーザーの操作によって)変更できます。

リスト1にフィルターを追加して、リスト2にあるものが何も表示されないようにする必要があります。これは、これまでの私のコードです...


List2.ItemsSourceは、ObservableCollection(実際の内容)ではなく、IEnumerableとして返されます。これをできるだけ効率的に実行したいので、次のようにする必要があるかどうかわかりませんでした。

  1. 明示的にItemsSourceをIListとしてキャストして、Containsにアクセスしますか?
  2. ItemsSourceを自分で繰り返して、アイテムが含まれているかどうかを確認しますか?
  3. LINQのCast拡張メソッドを使用してIList(または他のタイプ)にキャストし、Contains?にアクセスします。
  4. その他の方法で?

アップデート:

初めてレンダリングした後、アイテムのフィルタリングを続行していないようです。

更新2:

なぜフィルターを再適用しないのか理解できたと思います。元のコレクションはCollectionChanged通知を発生させないため、フィルターを再度実行する必要はありません。おそらく、この部分を解決することは、別の質問としてより適していますか?しかし、誰かがここでそれに答えたい場合は:

List2コレクションが変更されたときにList1にフィルターを再適用させるにはどうすればよいですか?

更新3:別のSO質問 でcollectionchangedイベントに関連付ける方法を尋ね、回答を得ました。

0 投票する
3 に答える
15431 参照

wpf - WPF:ListViewのItemsSource CollectionChanged通知にフックするにはどうすればよいですか?

ListViewはにデータバインドされているを持っていObservableCollectionます...

コレクションが変更されたときにトリガーされるイベントが見つからないようです。どういうわけか、collectionchanged通知にフックする必要があると思いますか?どうすればいいのかよくわかりません。

基本的に、コレクションが変更された場合、ListViewがリストを更新する際にすでに行っていること以外の追加の作業を行いたいと思います。

0 投票する
1 に答える
8332 参照

wpf - ItemsSourceを静的メソッドにバインドするWPF?

「Article」というクラスに次の静的メソッドがあります。

これをComboBoxのItemsSourceプロパティに直接バインドしたいのですが、コードにないXAMLでは、正しい構文が見つかりません。

これは私が思うように見えるはずです(EmacGbscCoreはArticleオブジェクトを含むアセンブリです):

よろしくお願いします。

0 投票する
4 に答える
2864 参照

c# - ItemsControl.ItemsSourceがnullかどうかを表示します

ご挨拶、

バインドされたItemsSource内のすべてのオブジェクトのRadioButtonを表示するために変更したItemsControlがあります。

ただし、ItemsSourceは空にすることができ、空の場合はデフォルト値を表示したいと思います。「バインドされたリストには、選択できるアイテムが含まれていません」のようなもの...

私が考えた1つの方法は、ItemsControl.VisibilityをCollapsedに設定し、TextBlock.VsibilityをVisibleに設定して、テキストを表示することです。ただし、これにはさらに多くのデータが含まれます。

ItemsControl.ItemsSourceがnullの場合、デフォルト値を表示することはできますか?