問題タブ [listcollectionview]

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

silverlight - Windows Phone 7.5 (Mango) 用の ListCollectionView または PagedCollectionView クラスはありますか

Silverlight 用の PagedCollectionView クラスと WPF 用の ListCollectionView クラスが存在することは知っています。しかし、Windows Phone 7.5 (Mango) の最新リリースでは、これらのいずれも利用できません。

私の理解が間違っている場合は、参照用にこれらのタイプのいずれかを探す必要がある WP7.5 SDK のアセンブリを教えてください。これらが Windows Phone 7.5 に存在しない場合、使用可能な代替クラス (もちろん同様の機能) はありますか?

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

c# - ComboBox の SelectedItem が実際の値の前に予期せず null に設定される

ObservableCollection にリンクされている新しい (デフォルトではない) ListCollectionView に ItemsSource がバインドされている ComboBox があります。ComboBox の SelectedItem プロパティは、公開されている SelectedHat プロパティにバインドされています。

ステップ 1: ComboBox で 2 番目の項目を選択します。SelectedHat は、予想どおり、リストの 2 番目のハットになりました。ステップ 2: (ボタンをクリックして) リストの 2 番目のスポットを新しいハットに設定します。SelectedHat は最初に null に設定され、次に新しい Hat に設定されます。

新しいハットの前に SelectedHat が null に設定されるのはなぜですか?

vm.Collection[index] = new Hat() を実行できるようにしたい
(1) ComboBox でそのインデックスが選択されている場合は、空白にするのではなく選択したままにする
(2) SelectedHat を新しいハットに一度だけ設定する代わりにnull および THEN 新しいハット

C#:

XAML:

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

wpf - データグリッド内の展開可能な列

大量のデータを提示および修正するための WPF アプリケーションに取り組んでいます。外部サービスから取り込まれた 3 つの異なるソースからのデータを含むデータグリッドを実装しようとしています。まず、1 つのソース (マスター ソース) からのデータのみをグリッドに入力します。ただし、自動化されたバリデーターが 1 つのセルで検証の警告またはエラーをトリガーし、ユーザーが選択したセルの隣の列にある追加の 2 つのソースからのデータを表示できる必要があることが要件として示されている場合があります。

このようなもの:

ユーザーは、次のように列「col2 src1」の横にソース 2 および 3 からのデータを表示したいと考えています。

次に、他の 2 つのソースからのデータを使用して、フォーマットされていないセルを修正し、列を再度折りたたむことができます。

これで mvvm パターンを使用しようとしているので、これまでに DataGrid に ListCollectionView を設定しました。リストには、次のようなプロパティを持つアイテムが含まれています。

次に、上記のようなタイプのアイテムを含む 2 つの追加コレクションがありますが、他の 2 つのソースからのものです。

この機能を実装する方法がわかりません。ロジックに関するヘルプを使用できます。どのようなアプローチに向かえばよいでしょうか?

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

wpf - WPF ListCollectionViewバインディングメソッドを制御する方法は?

ListCollectionViewを使用してフォームにバインドする単純なObservableCollectionリストがあります。

ここに画像の説明を入力

バインド方法を制御したい問題。OKボタンを押したときにのみプロパティが変更されることを意味します。

今のように、「名」を変更してナビゲートすると、値が保存されます。

たとえば、「名」を XXX に変更し、次に移動してから戻ると、x ではなく XXX が表示されます...

これは MainWindow.xaml です。

Person クラスは次のとおりです。

リポジトリはダミーデータを含む ObservableCollection です...私のxamlフィールドは次のようにバインドします:Text="{Binding FirstName, UpdateSourceTrigger=Explicit}"

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

wpf - ListCollectionView を 2 番目の項目から下に並べ替える

MVVM 環境では、ObservableCollection にバインドされた ListCollectionView があります。私の Foo オブジェクトには IsDefault プロパティがあり、私の要件はその項目をリストの最初に置き、残りをアルファ ソートする必要があることです。

したがって、このコードはリスト全体をソートするだけです。

アイテム #3 (たとえば、IsDefault=true を持つもの) がリストの一番上にあり、残り (IsDefault=false を持つもの) がアルファ ソートされるようにする方法がわかりません。

これは _list.CustomSort を使用し、何らかの方法で IComparer を実装する場合ですか?

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

wpf - この奇妙なエラー 'System.Windows.Data.ListCollectionView' はシリアル化可能としてマークされていません

クラスを複製するメソッドがあります。このクラスにはサブクラスやプロパティなどが含まれています。ICollectionView-Propertyが原因でしょうか? 問題がどこにあるかを検出する方法は?どのプロパティまたはクラスがシリアル化されていないか、または何かを意味しますか? 非常に紛らわしいです...

エラー: アセンブリ 'PresentationFramework、バージョン = 4.0.0.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35' のタイプ 'System.Windows.Data.ListCollectionView' は、シリアル化可能としてマークされていません。

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

wpf - ListCollectionView で、AddNew() が作成する Type を見つけますか?

ListCollectionView を ItemsSource として渡すことができるカスタム コントロールがあります。これには、リフレクションの使用のために Child-Type が必要です。

これで、最初の要素から Type を見つけることができました。

ただし、コレクションが空の場合は機能しません。

また、呼び出すことによっても機能しますAddNew()

しかし、ダミー オブジェクトを作成するためだけに AddNew を呼び出したくありません。サイト効果としてバグが発生するからです。

ただし、メソッド「AddNew()」が作成するオブジェクトのタイプを認識している場合、実際の Child-Type を作成せずに見つける方法が必要です。

Google、msdn、および Try & Error を使用しましたが、方法が見つかりませんでした。

いくつかのアイデア?前もって感謝します :-)

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

.net - ItemsControl の参照グループ化コントロール

データ ソースとして ListCollectionView を持つ ItemControl があります。ItemControl は Expander コントロールを使用してアイテムをグループ化します。ListCollectionView.Refresh() を実行すると、展開された Expander コントロールが折りたたまれます。展開されたコントロールを展開したままにする方法は?

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

apache-flex - Flex での dataProvider の更新時に selectedItem が消去される

flexでは、dataProvider ( ListCollectionView )から特定のアイテム (selectedItem フィールド) を表示するコンポーネントを使用しています。

私の dataProvider の要素は、さまざまな方法で編集できます。編集されるたびに更新イベントが送信され、dataProvider コレクション (ListCollectionView:: listChangeHandler ) が更新されます。

その過程で、selectedItem が編集された要素である場合、編集されたフィールドがどこにも使用されていなくても、削除されます ( ListCollectionView:: moveItemInViewを介して null に設定されます)。

これを回避する方法はありますか?

より具体的には、以前に保存する必要がなく、紛失して後で復元する必要がありません(ここではほとんど実用的ではありません)。


編集: わかりました、さらに説明できると思います:

私のコードでは、dataProvider にデータバインドされているリストの項目の 1 つのプロパティに影響を与えます。正確な理由はわかりませんが、おそらくアイテムのクラスが [bindable] であるため、これにより更新イベントがスローされます。

このイベントは、ListCollectionView::listChangeHandler にディスパッチする ArrayList::itemUpdateHandler によってキャッチされます。この時点で、イベントの「種類」は「更新」です。これで問題ないように思えます…</p>

しかし、そこからListCollectionView::moveItemInViewに移動します (リストがソートされている場合、アイテムの位置を更新する必要があるため、意味があると思います)。この関数は、アイテムを以前の場所から削除し、新しい場所に追加します。

削除すると、種類が「削除」の新しいイベントが送信されます。そして、ここで問題が発生します。私のコンポーネントは、使用するデータの削除イベントをリッスンし、この要素が削除された場合は selectedItem を削除します。

問題があるのは moveItemInView の呼び出しの周りだと思います: ListCollectionView::handlePropertyChangeEvents の呼び出し(listChangeHandler によって呼び出されます) は次のとおりです: moveItemInView(updateEntry.item, updateEntry.item, eventItems); ( updateEntry.item はリストの変更された項目であり、 eventItems は空の配列です)

そのプロトタイプは次のとおりです。 private function moveItemInView(item:Object, dispatch:Boolean = true, updateEventItems:Array = null):void

それはバグですか?

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

wpf - ObservableCollection + ICollectionView = ObservableCollectionView?

ObservableCollectionを公開するビューモデルがあります。ここで、グループ化を追加したいので、ListCollectionViewなどのViewクラスを使用したいと思います。しかし、それは一般的なタイプではありません。また、ObservableCollectionからListCollectionViewを作成すると、ObservableCollectionが更新されても更新されません。

誰かがObservableCollectionに裏打ちされたビューコレクションをどこかに実装しましたか?

そうでない場合、XAMLを使用してこのダイナミズムを何らかの方法で実現することは可能ですか?