問題タブ [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.

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

c# - ICollectionView フィルターを自動的に更新する

関連する変更が行われたときICollectionViewに呼び出すことなく、フィルターを自動的に更新する方法はありますか?Refresh()

私は次のものを持っています:

このプロパティの [Notify] 属性は実装されているだけINotifyPropertyChangedですが、この状況では何もしていないようです。

XAML の場合:

更新:使用ICollectionViewが必要になりそうなので、このトピックを再訪したいと思います。ICollectionViewこの質問に報奨金を追加しています。その受取人は、手動で更新する必要のない「ハンズオフ」を実装する方法について洞察を提供できる人になります。この時点で、私はどんなアイデアにもオープンです。

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

c# - ICollectionViewLiveShaping の実装

ICollectionViewLiveShapingフィルタリングの目的でどのように実装されていますか? それは次のようなものですか:

GetDefaultViewこのコレクションにフィルターの複数のインスタンスが必要なため、使用していません。それが重要な場合GameContainer.Game.Workersは、ObservableCollectionです。

これはすべて機能しますが、もちろん手動で更新する必要があるため、使用しようとしていますICollectionViewLiveShaping。ライブフィルタリングはどのように機能しますか?

更新:ICollectionViewLiveShapingLiveFilteringPropertiesコレクションにプロパティを追加する唯一の方法は、文字列を使用することです。その制限を考えると、別のクラス (この場合は Workers' EmployerID) のプロパティでフィルタリングすることさえ可能ですか?

この状況で私がやろうとしていることは、実行可能な選択肢でさえありますか?

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

c# - WPFでIcollectionviewを並べ替えてグループ化する

WPF でリストビュー コントロールを作成し、完全にバインドされたIcollectionviewオブジェクトを取得しましたObservableCollection<object>。私のリストビュー列は動的に作成されます。リストビューを並べ替えてグループ化する必要がありますが、正しく機能していません。私のコードは以下の通りです。

WPFコードは以下の通りです

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

c# - Wpf ICollectionViewバインディングアイテムはタイプオブジェクトのプロパティを解決できません

XAML デザイナーでをバインドしGridViewましたが、エンティティが型に変換されており、エンティティ プロパティにアクセスできないため、プロパティが不明です。正常に実行され、エラーは発生しませんが、デザイナーはそれをエラーとして表示します。コレクションにバインドすると、プロパティに問題なくアクセスできますICollectionViewCollectionViewObject

エンティティがプロパティを持つ例で、それらを に配置し、Personそこからビューを取得し、それをバインドして、列ヘッダープロパティを設定しようとすると、デザイナーはそれをエラーとして表示しますstring NameObservableCollection<Person>GridView.ItemsSourceDataMemberBinding.FirstName

タイプ オブジェクトのデータ コンテキストでプロパティ 'FirstName' を解決できません

それはバグですか、それともResharperが私にいたずらをしているのですか

サンプルコード:

ここに画像の説明を入力

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

wpf - ディスパッチャ スレッドから削除できないエクストラ スレッドのバインドされたアイテム

RefreshItemsViewModel のコンストラクターから呼び出され、ユーザーが希望するとき (RefreshCommandボタンのクリック時) に呼び出されます。

Delete も にバインドされDeleteCommandます。

他の方法では流動的ではないアニメーションがあるため、新しいスレッド内のアイテムを更新したいと思います。

したがって、バインディングはディスパッチャーのスレッドでは発生しませんが、削除は行われ、削除によって例外がスローされます (コードを参照)。

(XP をサポートする必要があるため、TPL (async/await) はオプションではありません。)

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

wpf - ICollectionView CurrentChanging キャンセル

この例に示すように、CurrentChanging イベントをキャンセルしようとしています

http://msdn.microsoft.com/ru-ru/library/windows/apps/windows.ui.xaml.data.icollectionview.currentchangeing

しかし、私はe.IsCancelable= FALSEです。このプロパティにはゲッターしかなく、このプロパティを TRUE に設定するために何ができるかわかりません。何か案が?

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

c# - グループ化をサポートする ICollectionView を実装する

現在、VirtualCollection に Grouping を実装しようと取り組んでいます。DataGrid (WPF および SL) を使用したグループ化が機能するように、ICollectionView をどのように実装する必要があるかについてのチュートリアルはありますか?

私が取り組んでいるプロジェクト: https://github.com/jogibear9988/VirtualCollection

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

c# - ObserverableCollection をフィルタリングして特定のアイテムのみを表示する

私はこのリンクをたどっていました:http://jacobmsaylor.com/?p=1270

しかし、私はそれに問題があり、微調整しようとしています

.

私の MLBPage オブジェクトには 2 つのタイプがあります... "templateName" は "Leaders List" または "Leader Headshots" のいずれかです。ボタンに追加してコレクションをフィルタリングすると、次のようになります。

名前に「Leaders List」を含むアイテムのみではなく、コレクション全体がフィルタリングされます (リストボックスにバインドされた _PageCollection が空白になります)。

これを機能するように変更する方法について何か助けはありますか?

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

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 のテキストボックスをもう一度クリックした後に再度編集できるようにするには、どうすればこれを修正できますか?

何か案は?

ありがとう!