問題タブ [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.
wpf - CollectionViewSource フィルタリング ロジック
私が思いついたフィルタリングの設計は、せいぜいぎこちなく、最悪の場合はバグがあります。アイデアは、選択リストをサポートする基本クラスを用意し、サブクラスが必要に応じて追加のフィルタリング ロジックを追加できるようにすることです。
私が特に混乱しているのは、さまざまなフィルタリング基準が変更されたときにビューをトリガーしてフィルタリングする方法です (以下の _ApplyFiler() を参照)。そのようにフィルターを設定することは適切ですか? フィルタリングした後、どこで購読を解除/nullに設定すればよいですか?
乾杯、ベリル
醜いコード:
wpf - CollectionViewSource フィルタリング イベントとプロパティ
CollectionViewSource.Filter イベントとは対照的に、CollectionViewSource.View.Filter プロパティを使用する場合の実際的な違いは何ですか? どちらか一方を使用する状況はありますか、それとも好みの問題ですか?
乾杯、
ベリル
編集: ドキュメントには、「ビュー オブジェクトが CollectionViewSource オブジェクトから取得された場合、Filter イベントのイベント ハンドラーを設定してフィルタリング ロジックを適用する」と記載されていることがわかります。ビューにプロパティを設定することを妨げるものは何もありませんが、そうする理由はわかりません。
これまでに CollectionViewSource でイベントを設定する利点は、すべてのフィルタリング ロジックを 1 つのイベント ハンドラーに実装し、View.Refresh (または View.DeferRefresh) を使用して、ユーザーがフィルター条件を変更したときにそれを呼び出すことができることです。
wpf - WPFのCollectionViewSource.GetDefaultView()でメモリリークが発生しましたか?
WPFでCollectionViewsを操作するためのベストプラクティス、特にCollectionViewSource.GetDefaultView()メソッドの使用について疑問に思っています。GetDefaultViewの使用で問題が発生した人はいますか?メモリリークが発生している可能性があります。
GetDefaultView()に依存するよりも、ListCollectionViewsを手動で作成する方が一般的に良い方法ですか?
WPFはこれらのビューをどのように管理しますか?コレクションがGCされるとき、彼らはGCを受けますか?CollectionViewsをソースコレクションからデタッチする必要があるという記事をいくつか見ました。そうしないと、メモリリークが発生します。
助けてくれてありがとう!
wpf - WPF CollectionViewSource グループ化
を使用しCollectionViewSource
てデータをグループ化しています。私のデータでは、Property1
グループProperty2
化する必要があります。
唯一の条件は、別のグループのサブグループが必要ないということです。Property2
したがって、これら 2 つのプロパティでグループ化する場合、 のグループのサブグループであるため、そのようにしたくありませんProperty1
。
これが必要な理由は、次の情報を示すヘッダーが必要だからです。
ヘッダ:
CollectionViewSource でこれを試しましたが、グループとサブグループを「結合」できませんでした。
2 つのプロパティをグループ化することはできますか? 以下のようなものですか?
c# - CollectionViewSource CurrentChangedがトリガーされない
私は何か間違ったことをしているのだろうか?CurrentChanged がトリガーされないようです。アプリケーションの起動時にのみトリガーされます
wpf - DataTemplate 内で CollectionViewSource を使用できますか?
データ テンプレート内で CollectionViewSource を明示的に使用することは可能ですか? 通常は CollectionViewSource をテンプレートと一緒にリソースに配置しますが、コレクションビューソースの「ソース」はツリーのこのレベルの DataContext のプロパティであるため、モデルではそれが許可されません。つまり、インスタンスが必要です。このレベルで。リソースのルートに配置すると、インスタンスが 1 つしかないことになります。また、これらのアイテムは階層をこれほど下に降りるまで存在せず、すべての兄弟がこのプロパティを持っているわけではないため、外側のレベルでグループ化を単純に使用することはできません。したがって、DataTemplate 内で CollectionViewSource をインスタンス化することは論理的に理にかなっています (この例では HierarchicalDataTemplate ですが、それは無関係です)。
具体的には、この特定のノード レベルで特定の並べ替えを許可しようとしています。他の唯一の選択肢は、ViewModel 自体をソートすることですが、ソートをサポートしていない ObservableCollections を使用しているため、これは面倒です。実際、このトピックで見たすべての記事では、CollectionViewSource を正確に使用する必要があると述べているため、この質問があります。
たとえば、これはうまくいきます…</p>
しかし、これはそうではありません…</p>
私にはそのように思えますが、そうではありません。繰り返しになりますが、CollectionViewSource をデータ テンプレートと同じレベルに配置することはできません。テンプレートごとに 1 つのインスタンスが必要なためです。それぞれに独自のアイテム セットがあるためです (ただし、それらはすべて並べ替え基準を共有します)。
M
c# - C#/WPF: タブが適切にフォーカスされない理由
タブコントロールがあります
それは にバインドさTabs
れていViewModel
ます。またCollectionViewSource
、タブにフォーカスしていました
複数のタブがある場合、新しいタブを作成すると、タブが適切にフォーカスされます
タブがない場合、新しいタブは適切にフォーカスされていないようです。タブヘッダーに注意してください
どうすればこれを修正できますか? または、この動作の原因は何ですか? テキスト ボックス (タブのコンテンツ) は表示されますが、ヘッダーは選択したようにレンダリングされません
アップデート
それは新しいファイル/プロジェクトで動作します...うーん...関連するコードでなければなりません...その部分をやり直すかもしれません...
wpf - WPF - DataTemplate の CollectionViewSource フィルター イベントが機能しない
WPF が期待どおりに動作しないという、非常に奇妙な動作が見られます。次のコードで問題を解決できました。
XAML:
分離コード:
このコードは、「b」という 1 つの項目を持つ withTabControl
が 1 つのタブになることを期待しています。ListBox
しかし、代わりに、ListBox
3 つの文字列すべてで a が得られます。内部にブレークポイントを設定するCollectionViewSource_Filter
と、フィルターが実行されないことが示されます。
何が起きてる?フィルタが機能しないのはなぜですか?
CollectionViewSource
のリソースであることと関係があるのではないかと考えていましたDataTemplate
。ListBox
ちゃんと火がついたイベント。UserControl
が の一部でない場合DataTemplate
、Filter イベントは正常に機能します。
編集:
たとえば、次の例は期待どおりに機能し、List は期待どおりにフィルタリングされます。
XAML:
コードビハインド:
wpf - CollectionViewSource ソース プロパティでのコレクション バインディング
私は私のCollectionViewSource
ようItemsSource
ですDataGrid
。私はこのWindow.Resources
定義を持っています:
今、コードから同じ定義を作成したいので、これを行いました:
しかし、最後のステートメントで次のエラーが発生しました。
どうしたの?どうすればこれを達成できますか?
wpf - CollectionViewSource+PropertyGroupDescription - グループ内の項目数
私の WPF アプリケーションには、プライベート ObservableCollection へのビューを提供する CollectionViewSource があります。CollectionViewSource には、ユーザーの好みに合わせてデータを表示するために ListBox で使用される PropertyGroupDescription があります。
ListBox GroupStyle 内に Expander コントロールを含む ControlTemplate を使用すると、非常に優れた結果が得られます。ただし、グループ名に加えて、各グループの項目数を Expander ヘッダーに表示したいと考えています。バインディングパスに関するアイデアはありますか?
よろしく、リアム