問題タブ [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 投票する
2 に答える
1972 参照

.net - コレクションがフィルター処理された後、WPF データバインディングが更新されないのはなぜですか?

コレクションが更新されたときに WPF ContextMenu データバインディングが期待どおりに更新されないのに、ItemTemplate はコンテキスト メニュー テキストを正しく表示しているのはなぜですか?

以下のコード内では、ObservableCollection を更新しようとしない場合に機能します。基礎となる ObservableCollection が更新されると、DataTemplate は問題なく更新され、期待どおりに新しい MenuItem テキストが表示されます。ただし、更新が発生した後、MenuItem.Tag は Nothing を返していますか?

データ バインドされた MenuItem.Tag は、コレクションが最初に読み込まれたときに機能しますが、更新後は機能しません。このエラーを見つける方法についてのアイデアはありますか? XAML コードの一部を以下に示します。

更新 #1: この問題は、CollectionViewSource と、フィルタリングが発生して項目を削除した後に Filter が MenuItem.Tag バインディングを更新しないことに関連しているようです。コレクションが変更される CollectionViewSource.View.Refresh() を追加しましたが、それでも問題は解決しません。

更新 #2 INotifyPropertyChanged を既に実装していますが、これはフィルタリングの問題には役立ちません。CollectionViewSource のフィルターを削除すると、問題は発生しません。また、MenuItem.Tag バインディングにコンバーターを追加しましたが、これはフィルタリングが適用された後に呼び出されず、MenuItem.Tag が Nothing に設定されます。

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

wpf - CollectionViewSourceに対してバインドされたときにBlendに表示されないDesignTimeデータ

itemscontrolがCollectionViewSourceに対してバインドされているビューモデルのデータテンプレートがあります(xamlでの並べ替えを有効にするため)。

また、設計時データを提供するためにこれらすべてが定義されているUserControlをセットアップしました

これは基本的に、ModuleViewModels(Equipment.Modules)のリストを持つEquipmentViewModelを提供する静的プロパティです。これで、CollectionViewSourceにバインドしている限り、デザインタイムデータはブレンド3に表示されません。ViewModelコレクションに直接バインドすると

デザインタイムのデータを見ることができます。私に何ができるか考えてみませんか?

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

silverlight - Silverlight の CollectionViewSource

WPF 用のhttp://msdn.microsoft.com/en-us/library/ms771725.aspxのサンプルに基づいています。要件が同じであるため、Silverlight の同じサンプルが必要でした。しかし、私は XAML を指す "AG_E_PARSER_BAD_PROPERTY_VALUE" を取得します (FYI: xmlns:dat="clr-namespace:System.Windows.Data;assembly=System.Windows.Data")。

同じことを達成するのを手伝ってください。

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

wpf - WPFページングされたCollectionViewSource

たくさんのアイテムで遅くなり始めたので、ページ付けを追加したいWPFリストボックスがあります。私の問題は、グループ化、並べ替え、およびフィルタリングを使用していることです。つまり、LINQ Skip()メソッドとTake()メソッドを使用してデータを制限したり、ページ化されたObservableCollectionのようなものを使用したりすると、データの最初のページにのみ適用されるため、グループ化と並べ替えが間違ってしまいます。現在の表示に表示されているデータをフィルタリングするだけなので、フィルタリングはさらに悪化します。つまり、検索できるようにするには、表示されるページにいる必要があります。

私はそのロジックをすべて書き直すという考えにはあまり熱心ではありません。Silverlight 3がPagedCollectionViewを取得していることがわかります(ただし、.NET 4のWPFが取得していないことがわかります)。誰かが以前にこのようなものを実装したことがありますか、または私がこれをどのように解決するべきかについて何かアイデアがありますか?

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

wpf - CollectionViewSource と DataBinding を使用した WPF グループ化

グループアイテムCollectionViewSourceにaをバインドしています。ベースを更新するListView場合を除いて、すべてうまく機能します。コレクション内のオブジェクトの値を更新しても、UI は更新されません。次に例を示します。ObservableCollectionCollectionViewSource

グループ内のコンバーターが呼び出され、項目コレクションが渡されていることがわかります。これは、コンバーターが行の平均を計算し、その結果を返すことができるようにするためです。

コード ビハインドでは、行を追加して以下を作成しますCollectionViewSource

プライベート readonly ObservableCollection displayRows = new ObservableCollection();

DisplayRowオブジェクトは を実装しINotifyPropertyChangedており、単純なクラスです。

すべてがうまく機能し、表示は希望どおりですがObservableCollection、UI の値を変更しても変更されません。

コレクションに要素を追加すると、それが画面に表示されますが、平均を再計算するためにコンバーターが呼び出されることはありません。何か案は?

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

.net - CollectionViewSource のソースである場合に、List の ObservableCollection の動作を模倣する方法は?

以下のコードは次のように機能します: 並べ替えられた名前のリストを含むフォームが表示されます。ボタンがクリックされると、新しい名前がリストのテキストボックスから適切にソートされた位置に追加されます。リストの項目をダブルクリックすると、「AAA」というプレフィックスが付けられ、リストの一番上に配置されます。ObservableCollection を List に変更すると、この動作はもちろん消えます。しかし、どうすれば真似できますか?INotifyPropertyChanged を実装しようとしましたが、リストボックスの BindingExpression で UpdateTarget() メソッドを呼び出しましたが、すべて役に立ちませんでした...

次の XAML があります。

背後にあるコード:

}

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

silverlight - SilverlightでCollectionViewSourceを使用する際の問題

CollectionViewSourceをSilverlightで実装するときに問題が発生しました。私はこのトピックに慣れていないので、基本的にはWebで検索したものをフォローしています。これが私がこれまでやろうとしてきたことです。

resourcesタグにCollectionViewSourceを作成しています。

次に、TestCVSをHierarchicalDataTemplateにバインドします。

ここで、背後にあるコードで、次のように、プロパティでTestCVSのソースを割り当てています。

これをテストした後、情報が画面に表示されていないことに気付きました。理由はよくわかりません。誰かがこの問題について私を助けてくれますか?

よろしくお願いします。よろしくお願いします。

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

c# - WPF CollectionViewSource からの結果の最大量を設定する方法

DataTemplateで を使用してデータItemsControlのセットを表示しようとしています。セットItemsPanelはサイズ 3 x 3 の均一なグリッドです。 のItemsSourceは、検索語に基づいてソース コレクションをフィルタリングItemsControlする にバインドするように設定されています。CollectionViewSourceこれはすべてうまくいきます。

私がバインドしているリストは任意のサイズですが、9つの結果のみを表示したいのですが、私の人生では次のいずれかを行うことができません: a)最初の9つのアイテムを出力するように
制限する b)を 3 x 3 のみに制限し、新しい行を作成しない c)一度に 9 つのデータ テンプレートしか作成できないように制限する。CollectionViewSource
UniformPanel
ItemsControl

これは一般的なデータバインディングのシナリオであると確信しているため、本当に頭を悩ませていますが、ウェブ上でそれについて何も見つけることができません。

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

wpf - ItemsControlのCurrentItemへのバインド

以下のXAMLは、基本的にsのリストを作成しようとしています(現在のコレクション内のオブジェクトのプロパティButtonからレンダリングされます。NameViewsDataContext

ボタンをクリックすると、のCurrentItemプロパティがCollectionViewSource変更され、関連Viewするものがコンテンツプレゼンターに表示されます。

わかった。下のXAMLをクリックすると、ListBox希望どおりに機能します。

UniformGridただし、 (アイテムコントロールによって作成された)ボタンをクリックしても、CurrentItemプロパティは更新されません。

CurrentItemアイテムが選択されたときにを更新するにはどうすればよいItemsControlですか?

ありがとう