問題タブ [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.
.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 に設定されます。
wpf - CollectionViewSourceに対してバインドされたときにBlendに表示されないDesignTimeデータ
itemscontrolがCollectionViewSourceに対してバインドされているビューモデルのデータテンプレートがあります(xamlでの並べ替えを有効にするため)。
また、設計時データを提供するためにこれらすべてが定義されているUserControlをセットアップしました
これは基本的に、ModuleViewModels(Equipment.Modules)のリストを持つEquipmentViewModelを提供する静的プロパティです。これで、CollectionViewSourceにバインドしている限り、デザインタイムデータはブレンド3に表示されません。ViewModelコレクションに直接バインドすると
デザインタイムのデータを見ることができます。私に何ができるか考えてみませんか?
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")。
同じことを達成するのを手伝ってください。
wpf - WPFページングされたCollectionViewSource
たくさんのアイテムで遅くなり始めたので、ページ付けを追加したいWPFリストボックスがあります。私の問題は、グループ化、並べ替え、およびフィルタリングを使用していることです。つまり、LINQ Skip()メソッドとTake()メソッドを使用してデータを制限したり、ページ化されたObservableCollectionのようなものを使用したりすると、データの最初のページにのみ適用されるため、グループ化と並べ替えが間違ってしまいます。現在の表示に表示されているデータをフィルタリングするだけなので、フィルタリングはさらに悪化します。つまり、検索できるようにするには、表示されるページにいる必要があります。
私はそのロジックをすべて書き直すという考えにはあまり熱心ではありません。Silverlight 3がPagedCollectionViewを取得していることがわかります(ただし、.NET 4のWPFが取得していないことがわかります)。誰かが以前にこのようなものを実装したことがありますか、または私がこれをどのように解決するべきかについて何かアイデアがありますか?
wpf - CollectionViewSource と DataBinding を使用した WPF グループ化
グループアイテムCollectionViewSource
にaをバインドしています。ベースを更新するListView
場合を除いて、すべてうまく機能します。コレクション内のオブジェクトの値を更新しても、UI は更新されません。次に例を示します。ObservableCollection
CollectionViewSource
グループ内のコンバーターが呼び出され、項目コレクションが渡されていることがわかります。これは、コンバーターが行の平均を計算し、その結果を返すことができるようにするためです。
コード ビハインドでは、行を追加して以下を作成しますCollectionViewSource
。
プライベート readonly ObservableCollection displayRows = new ObservableCollection();
DisplayRow
オブジェクトは を実装しINotifyPropertyChanged
ており、単純なクラスです。
すべてがうまく機能し、表示は希望どおりですがObservableCollection
、UI の値を変更しても変更されません。
コレクションに要素を追加すると、それが画面に表示されますが、平均を再計算するためにコンバーターが呼び出されることはありません。何か案は?
.net - CollectionViewSource のソースである場合に、List の ObservableCollection の動作を模倣する方法は?
以下のコードは次のように機能します: 並べ替えられた名前のリストを含むフォームが表示されます。ボタンがクリックされると、新しい名前がリストのテキストボックスから適切にソートされた位置に追加されます。リストの項目をダブルクリックすると、「AAA」というプレフィックスが付けられ、リストの一番上に配置されます。ObservableCollection を List に変更すると、この動作はもちろん消えます。しかし、どうすれば真似できますか?INotifyPropertyChanged を実装しようとしましたが、リストボックスの BindingExpression で UpdateTarget() メソッドを呼び出しましたが、すべて役に立ちませんでした...
次の XAML があります。
背後にあるコード:
}
silverlight - SilverlightでCollectionViewSourceを使用する際の問題
CollectionViewSourceをSilverlightで実装するときに問題が発生しました。私はこのトピックに慣れていないので、基本的にはWebで検索したものをフォローしています。これが私がこれまでやろうとしてきたことです。
resourcesタグにCollectionViewSourceを作成しています。
次に、TestCVSをHierarchicalDataTemplateにバインドします。
ここで、背後にあるコードで、次のように、プロパティでTestCVSのソースを割り当てています。
これをテストした後、情報が画面に表示されていないことに気付きました。理由はよくわかりません。誰かがこの問題について私を助けてくれますか?
よろしくお願いします。よろしくお願いします。
c# - WPF CollectionViewSource からの結果の最大量を設定する方法
DataTemplate
で を使用してデータItemsControl
のセットを表示しようとしています。セットItemsPanel
はサイズ 3 x 3 の均一なグリッドです。 のItemsSource
は、検索語に基づいてソース コレクションをフィルタリングItemsControl
する にバインドするように設定されています。CollectionViewSource
これはすべてうまくいきます。
私がバインドしているリストは任意のサイズですが、9つの結果のみを表示したいのですが、私の人生では次のいずれかを行うことができません: a)最初の9つのアイテムを出力するように
制限する
b)を 3 x 3 のみに制限し、新しい行を作成しない
c)一度に 9 つのデータ テンプレートしか作成できないように制限する。CollectionViewSource
UniformPanel
ItemsControl
これは一般的なデータバインディングのシナリオであると確信しているため、本当に頭を悩ませていますが、ウェブ上でそれについて何も見つけることができません。
wpf - ItemsControlのCurrentItemへのバインド
以下のXAMLは、基本的にsのリストを作成しようとしています(現在のコレクション内のオブジェクトのプロパティButton
からレンダリングされます。Name
Views
DataContext
ボタンをクリックすると、のCurrentItem
プロパティがCollectionViewSource
変更され、関連View
するものがコンテンツプレゼンターに表示されます。
わかった。下のXAMLをクリックすると、ListBox
希望どおりに機能します。
UniformGrid
ただし、 (アイテムコントロールによって作成された)ボタンをクリックしても、CurrentItem
プロパティは更新されません。
CurrentItem
アイテムが選択されたときにを更新するにはどうすればよいItemsControl
ですか?
ありがとう