問題タブ [collectionviewsource]

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 投票する
1 に答える
1135 参照

wpf - CollectionViewSource フィルタリング ロジック

私が思いついたフィルタリングの設計は、せいぜいぎこちなく、最悪の場合はバグがあります。アイデアは、選択リストをサポートする基本クラスを用意し、サブクラスが必要に応じて追加のフィルタリング ロジックを追加できるようにすることです。

私が特に混乱しているのは、さまざまなフィルタリング基準が変更されたときにビューをトリガーしてフィルタリングする方法です (以下の _ApplyFiler() を参照)。そのようにフィルターを設定することは適切ですか? フィルタリングした後、どこで購読を解除/nullに設定すればよいですか?

乾杯、ベリル

醜いコード:

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

wpf - CollectionViewSource フィルタリング イベントとプロパティ

CollectionViewSource.Filter イベントとは対照的に、CollectionViewSource.View.Filter プロパティを使用する場合の実際的な違いは何ですか? どちらか一方を使用する状況はありますか、それとも好みの問題ですか?

乾杯、
ベリル

編集: ドキュメントには、「ビュー オブジェクトが CollectionViewSource オブジェクトから取得された場合、Filter イベントのイベント ハンドラーを設定してフィルタリング ロジックを適用する」と記載されていることがわかります。ビューにプロパティを設定することを妨げるものは何もありませんが、そうする理由はわかりません。

これまでに CollectionViewSource でイベントを設定する利点は、すべてのフィルタリング ロジックを 1 つのイベント ハンドラーに実装し、View.Refresh (または View.DeferRefresh) を使用して、ユーザーがフィルター条件を変更したときにそれを呼び出すことができることです。

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

wpf - WPFのCollectionViewSource.GetDefaultView()でメモリリークが発生しましたか?

WPFでCollectionViewsを操作するためのベストプラクティス、特にCollectionViewSource.GetDefaultView()メソッドの使用について疑問に思っています。GetDefaultViewの使用で問題が発生した人はいますか?メモリリークが発生している可能性があります。

GetDefaultView()に依存するよりも、ListCollectionViewsを手動で作成する方が一般的に良い方法ですか?

WPFはこれらのビューをどのように管理しますか?コレクションがGCされるとき、彼らはGCを受けますか?CollectionViewsをソースコレクションからデタッチする必要があるという記事をいくつか見ました。そうしないと、メモリリークが発生します。

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

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

wpf - WPF CollectionViewSource グループ化

を使用しCollectionViewSourceてデータをグループ化しています。私のデータでは、Property1グループProperty2化する必要があります。

唯一の条件は、別のグループのサブグループが必要ないということです。Property2したがって、これら 2 つのプロパティでグループ化する場合、 のグループのサブグループであるため、そのようにしたくありませんProperty1

これが必要な理由は、次の情報を示すヘッダーが必要だからです。

ヘッダ:

CollectionViewSource でこれを試しましたが、グループとサブグループを「結合」できませんでした。

2 つのプロパティをグループ化することはできますか? 以下のようなものですか?

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

c# - CollectionViewSource CurrentChangedがトリガーされない

私は何か間違ったことをしているのだろうか?CurrentChanged がトリガーされないようです。アプリケーションの起動時にのみトリガーされます

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

wpf - DataTemplate 内で CollectionViewSource を使用できますか?

データ テンプレート内で CollectionViewSource を明示的に使用することは可能ですか? 通常は CollectionViewSource をテンプレートと一緒にリソースに配置しますが、コレクションビューソースの「ソース」はツリーのこのレベルの DataContext のプロパティであるため、モデルではそれが許可されません。つまり、インスタンスが必要です。このレベルで。リソースのルートに配置すると、インスタンスが 1 つしかないことになります。また、これらのアイテムは階層をこれほど下に降りるまで存在せず、すべての兄弟がこのプロパティを持っているわけではないため、外側のレベルでグループ化を単純に使用することはできません。したがって、DataTemplate 内で CollectionViewSource をインスタンス化することは論理的に理にかなっています (この例では HierarchicalDataTemplate ですが、それは無関係です)。

具体的には、この特定のノード レベルで特定の並べ替えを許可しようとしています。他の唯一の選択肢は、ViewModel 自体をソートすることですが、ソートをサポートしていない ObservableCollections を使用しているため、これは面倒です。実際、このトピックで見たすべての記事では、CollectionViewSource を正確に使用する必要があると述べているため、この質問があります。

たとえば、これはうまくいきます…</p>

しかし、これはそうではありません…</p>

私にはそのように思えますが、そうではありません。繰り返しになりますが、CollectionViewSource をデータ テンプレートと同じレベルに配置することはできません。テンプレートごとに 1 つのインスタンスが必要なためです。それぞれに独自のアイテム セットがあるためです (ただし、それらはすべて並べ替え基準を共有します)。

M

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

c# - C#/WPF: タブが適切にフォーカスされない理由

タブコントロールがあります

それは にバインドさTabsれていViewModelます。またCollectionViewSource、タブにフォーカスしていました

複数のタブがある場合、新しいタブを作成すると、タブが適切にフォーカスされます

代替テキスト

タブがない場合、新しいタブは適切にフォーカスされていないようです。タブヘッダーに注意してください

代替テキスト

どうすればこれを修正できますか? または、この動作の原因は何ですか? テキスト ボックス (タブのコンテンツ) は表示されますが、ヘッダーは選択したようにレンダリングされません

アップデート

それは新しいファイル/プロジェクトで動作します...うーん...関連するコードでなければなりません...その部分をやり直すかもしれません...

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

wpf - WPF - DataTemplate の CollectionViewSource フィルター イベントが機能しない

WPF が期待どおりに動作しないという、非常に奇妙な動作が見られます。次のコードで問題を解決できました。

XAML:

分離コード:

このコードは、「b」という 1 つの項目を持つ withTabControlが 1 つのタブになることを期待しています。ListBoxしかし、代わりに、ListBox3 つの文字列すべてで a が得られます。内部にブレークポイントを設定するCollectionViewSource_Filterと、フィルターが実行されないことが示されます。

何が起きてる?フィルタが機能しないのはなぜですか?

CollectionViewSourceのリソースであることと関係があるのではないかと考えていましたDataTemplateListBoxちゃんと火がついたイベント。UserControlが の一部でない場合DataTemplate、Filter イベントは正常に機能します。

編集:

たとえば、次の例は期待どおりに機能し、List は期待どおりにフィルタリングされます。

XAML:

コードビハインド:

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

wpf - CollectionViewSource ソース プロパティでのコレクション バインディング

私は私のCollectionViewSourceようItemsSourceですDataGrid。私はこのWindow.Resources定義を持っています:

今、コードから同じ定義を作成したいので、これを行いました:

しかし、最後のステートメントで次のエラーが発生しました。

どうしたの?どうすればこれを達成できますか?

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

wpf - CollectionViewSource+PropertyGroupDescription - グループ内の項目数

私の WPF アプリケーションには、プライベート ObservableCollection へのビューを提供する CollectionViewSource があります。CollectionViewSource には、ユーザーの好みに合わせてデータを表示するために ListBox で使用される PropertyGroupDescription があります。

ListBox GroupStyle 内に Expander コントロールを含む ControlTemplate を使用すると、非常に優れた結果が得られます。ただし、グループ名に加えて、各グループの項目数を Expander ヘッダーに表示したいと考えています。バインディングパスに関するアイデアはありますか?

よろしく、リアム