問題タブ [icollectionview]
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.
c# - ICollectionView フィルターを自動的に更新する
関連する変更が行われたときICollectionView
に呼び出すことなく、フィルターを自動的に更新する方法はありますか?Refresh()
私は次のものを持っています:
このプロパティの [Notify] 属性は実装されているだけINotifyPropertyChanged
ですが、この状況では何もしていないようです。
XAML の場合:
更新:使用ICollectionView
が必要になりそうなので、このトピックを再訪したいと思います。ICollectionView
この質問に報奨金を追加しています。その受取人は、手動で更新する必要のない「ハンズオフ」を実装する方法について洞察を提供できる人になります。この時点で、私はどんなアイデアにもオープンです。
c# - ICollectionViewLiveShaping の実装
ICollectionViewLiveShaping
フィルタリングの目的でどのように実装されていますか? それは次のようなものですか:
GetDefaultView
このコレクションにフィルターの複数のインスタンスが必要なため、使用していません。それが重要な場合GameContainer.Game.Workers
は、ObservableCollection
です。
これはすべて機能しますが、もちろん手動で更新する必要があるため、使用しようとしていますICollectionViewLiveShaping
。ライブフィルタリングはどのように機能しますか?
更新:ICollectionViewLiveShaping
のLiveFilteringProperties
コレクションにプロパティを追加する唯一の方法は、文字列を使用することです。その制限を考えると、別のクラス (この場合は Workers' EmployerID) のプロパティでフィルタリングすることさえ可能ですか?
この状況で私がやろうとしていることは、実行可能な選択肢でさえありますか?
c# - WPFでIcollectionviewを並べ替えてグループ化する
WPF でリストビュー コントロールを作成し、完全にバインドされたIcollectionview
オブジェクトを取得しましたObservableCollection<object>
。私のリストビュー列は動的に作成されます。リストビューを並べ替えてグループ化する必要がありますが、正しく機能していません。私のコードは以下の通りです。
WPFコードは以下の通りです
c# - Wpf ICollectionViewバインディングアイテムはタイプオブジェクトのプロパティを解決できません
XAML デザイナーでをバインドしGridView
ましたが、エンティティが型に変換されており、エンティティ プロパティにアクセスできないため、プロパティが不明です。正常に実行され、エラーは発生しませんが、デザイナーはそれをエラーとして表示します。コレクションにバインドすると、プロパティに問題なくアクセスできますICollectionView
CollectionView
Object
エンティティがプロパティを持つ例で、それらを に配置し、Person
そこからビューを取得し、それをバインドして、列ヘッダープロパティを設定しようとすると、デザイナーはそれをエラーとして表示しますstring Name
ObservableCollection<Person>
GridView.ItemsSource
DataMemberBinding.FirstName
タイプ オブジェクトのデータ コンテキストでプロパティ 'FirstName' を解決できません
それはバグですか、それともResharperが私にいたずらをしているのですか
サンプルコード:
wpf - ディスパッチャ スレッドから削除できないエクストラ スレッドのバインドされたアイテム
RefreshItems
ViewModel のコンストラクターから呼び出され、ユーザーが希望するとき (RefreshCommand
ボタンのクリック時) に呼び出されます。
Delete も にバインドされDeleteCommand
ます。
他の方法では流動的ではないアニメーションがあるため、新しいスレッド内のアイテムを更新したいと思います。
したがって、バインディングはディスパッチャーのスレッドでは発生しませんが、削除は行われ、削除によって例外がスローされます (コードを参照)。
(XP をサポートする必要があるため、TPL (async/await) はオプションではありません。)
wpf - ICollectionView CurrentChanging キャンセル
この例に示すように、CurrentChanging イベントをキャンセルしようとしています
しかし、私はe.IsCancelable
= FALSEです。このプロパティにはゲッターしかなく、このプロパティを TRUE に設定するために何ができるかわかりません。何か案が?
c# - グループ化をサポートする ICollectionView を実装する
現在、VirtualCollection に Grouping を実装しようと取り組んでいます。DataGrid (WPF および SL) を使用したグループ化が機能するように、ICollectionView をどのように実装する必要があるかについてのチュートリアルはありますか?
私が取り組んでいるプロジェクト: https://github.com/jogibear9988/VirtualCollection
c# - ObserverableCollection をフィルタリングして特定のアイテムのみを表示する
私はこのリンクをたどっていました:http://jacobmsaylor.com/?p=1270
しかし、私はそれに問題があり、微調整しようとしています
.
私の MLBPage オブジェクトには 2 つのタイプがあります... "templateName" は "Leaders List" または "Leader Headshots" のいずれかです。ボタンに追加してコレクションをフィルタリングすると、次のようになります。
名前に「Leaders List」を含むアイテムのみではなく、コレクション全体がフィルタリングされます (リストボックスにバインドされた _PageCollection が空白になります)。
これを機能するように変更する方法について何か助けはありますか?
wpf - データグリッドのバグ? 無効なデータグリッド行での奇妙な動作
ObservableCollection の ICollectionView を使用して DataGrid にデータを表示しています。各エントリは、IsEnabled プロパティ (DataGridCheckBoxColumn に表示される) と 2 つの整数値 (それぞれが 1 つの DataGridTextColumn にある) で構成されます。IsEnabled が false の場合、次のスタイルを使用して行全体が無効になります。
データグリッドは次のようになります。
この奇妙な動作に遭遇しました。たとえば、データグリッドに 2 つの行があります。行 1 は有効 (アイテムの IsEnabled が true)、行 2 は無効 (アイテムの IsEnabled が false) です。行 1 の整数値の 1 つを編集して Enter キーを押すと、バインディングが期待どおりに更新されます。マウスポインターで同じテキストボックスをもう一度クリックすると、無効な行 (2) の下にあるテキストブロックがアクティブになります (そして、灰色で強調表示されます)。行 1 のテキストブロックを編集したい場合は、行 2 の「フォーカスされた」テキストブロックから逃れるために、別の場所をもう一度クリックする必要があります。3 回目のクリックで、最初に編集したテキストブロックに戻ることができます。
これはデータグリッドのバグですか? 行 1 のテキストボックスをもう一度クリックした後に再度編集できるようにするには、どうすればこれを修正できますか?
何か案は?
ありがとう!