問題タブ [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.
wpf - WPF データ バインディング: CollectionViewSource と ObjectDataProvider の問題
MainWindow.xaml ファイルがあります。
およびそのコード ビハインド クラスで、詳細スコープのフィルターを定義しました。
次に、AccountDetail
クラスがあります。
最後に、列挙型:
コードを実行すると、一連のアカウントの詳細が入力されたリスト ボックスが表示されます。それぞれのリスト ボックスには、選択されたスコープを持つ独自のコンボ ボックスと、適切な値を持つテキスト ボックスがあります。問題は、コンボ ボックスで選択されたすべての値が、最後に入力された詳細に設定された範囲と一致し、コンボ ボックスの値を変更すると、それらがすべて同じアカウントの詳細にバインドされているかのように、すべての値が更新されることです。
ObjectDataProvider
DetailScopesから取り出して、CollectionViewSource
AccountDetail のコンボ ボックスに直接バインドすると、問題はなくなりました。ただし、フィルタリングを適用していて、フィルタリングを に適用できないため、 内で必要です。ItemsSource
DataTemplate
CollectionViewSource
ObjectDataProvider
誰かがなぜこれが起こっているのか、実際にどのように接続すればよいのか説明してもらえますCollectionViewSource
かObjectDataProvider
? ありがとうございました。
c# - ソートされた Silverlight ツリービューで現在の選択を維持するにはどうすればよいですか?
TreeView
データの階層を持つSilverlight 4コントロールがあります。各レベルのアイテムをアルファベット順に並べ替えたいので、を使用してCollectionViewSource
いますが、並べ替えがどのように行われるかは実際には気にしません。
はイベントCollectionViewSource
を監視しているように見えるCollectionChanged
ため、アイテムが追加および削除されると、並べ替えは正常に機能します。
はCollectionViewSource
並べ替え対象のプロパティの変更を監視しないため、アイテムのテキストが変更された場合、並べ替えは維持されません。呼び出すCollectionViewSource.View.Refresh()
とリストが再ソートされますが、選択は破棄されます。選択を失ったり再設定したりせずTreeView
に選択を保持するにはどうすればよいですか?
サンプル プロジェクト:
説明:
このプロジェクトは、アイテムの単一レベル ツリーを作成します。各項目には、項目番号と、並べ替えを実際に興味深いものにするための数字の接頭辞が与えられます。ボタンは、アイテムを追加し、最も古いアイテムを削除し、最も古いアイテムの名前を変更します。
サンプルのビルド:
- 「SortTest」という名前の新しい Silverlight アプリケーションを作成します。
- System.Windows.Controls への参照を追加します (ツリービュー用)。
- 次のファイルを更新します。
注意すべき動作:
- 項目が追加および削除されても、現在の選択が維持されます。
Refresh()
項目の名前が変更されると (内から が呼び出されると) 、現在の選択は失われますOnRenameButtonClick()
。- への呼び出し
Refresh()
が削除された場合、アイテムの名前を変更するときに選択が維持されますが、リストは名前の変更を考慮して再ソートされません。
MainPage.xaml
MainPage.xaml.cs
ありがとう!
silverlight - CollectionViewSource.Source = DomainDataSource エラー
CollectionViewSource のソースを DomainDataSource に設定しようとしています:
ページの読み込み時に次のエラー メッセージが表示されます。
「コレクション ビューでサポートされていないタイプのソースです。」
何か案は?
wpf - CollectionView フィルターが適用された後に DataGrid の行数をバインドするにはどうすればよいですか?
CollectionView でフィルタリングを実装する前に、これを使用してデータグリッド内の行数を表示しました。
それ以来、フィルターを実装しました。
上記の TextBlock は、視覚的にフィルターがビューから項目を削除している場合でも、フィルター処理されていないカウントを示しています。上記の TextBlock を取得して、フィルターの結果として行数を表示するにはどうすればよいですか?
wpf - WPF TreeView 動的グループ化
CollectionViewSource にバインドされた WPF で TreeView を作成しようとしています。CollectionViewSource でグループを作成し、XAML で HierarchicalDataTemplate をセットアップして TreeView を適切に表示します。
私のViewModelには、CollectionViewSourceのグループ化を変更する方法があり、すべてうまく機能しているようです。私が持っている唯一の問題は、グループ化せずに CollectionViewSource を表示することです。
CollectionViewSource にグループ化がなく、グループ化された CollectionViewSource にも対応できるシナリオに対応するようにテンプレートを設計する方法を知っている人はいますか?
更新 私がやっていることをよりよく説明するために、いくつかのサンプルコードを作成しました。アプリの起動時に DataTemplateSelector が機能しますが、ユーザーがコンボボックスから別のグループ化オプションを選択したときに DataTemplate Selector を再起動する方法がわかりません。以下は私のサンプルコードです
と背後にあるコード
wpf - WPF CollectionViewSource からの Filterset
CollectionViewSource がフィルタリングされたら、どのように結果セットを取得しますか? 実際には、必要なのはカウントだけですが、答えは必ず一致すると思います。ありがとう!
wpf - WpfDatagrid Collectionviewソース クリア
レコードのグループ化に collectionviewsource を使用してバインドした wpftoolkit データグリッド コントロールを使用しています。ユーザーがフォームをクリアしようとするたびに、データグリッドもクリアする必要があります。データグリッド itemsource を null に設定しようとしましたが、明確な機能に対しては正常に機能します。ユーザーがデータグリッドにレコードを追加しようとすると、ロードされません。
データグリッドをクリアするための解決策を教えてください。
前もって感謝します。
wpf - ExpressionDark テーマを使用した WPF ListBox のグループ化
リストボックスのグループ化に関するこの簡単なチュートリアルを見つけました:
http://joyfulwpf.blogspot.com/2007/06/simple-grouping-in-listbox.html
完全にうまく機能しますが、これを使用したいアプリケーションは ExpressionDark テーマを使用しています。このテーマを有効にすると、グループ ヘッダーのみが表示され、アイテムは表示されません。
テーマの何がこの動作を引き起こしているのかわかりません。
誰でも私を助けることができますか?
ありがとう!
編集:代わりにTreeViewを使用して「解決」しました。
c# - CollectionViewSourceとのバインド
CollectionViewSourceを使用してコンボボックスの並べ替えを実装しようとしています。このコンボボックスは実際にはデータテンプレートの一部であり、リストビューで繰り返されます。私の最初のアプローチは(CollectionViewSourceを使用して)機能しているように見えましたが、すべてのコンボボックスが同じデータコンテキストを共有していました。これにより、他のボックスの1つが変更されるたびに、他のすべてのボックスが反映されるように変更されました。これは、望ましい副作用ではありません。
(静的リソースとしてcvsを作成するのではなく)CollectionViewSourceを指定するためにインラインxamlを使用して、(データテンプレート内ではなく)基本的なコンボボックスをプルバックして実装することにしました。データを正常に表示できませんでした。私はまだWPFに慣れていないので、おそらくこれについては完全に間違っています。
これが私のコンボボックスのxamlです:
このコンボボックスが存在するユーザーコントロールのDataContextは、ConfigurationsというObservableCollectionを持つオブジェクトにバインドされ、各構成にはAgencyNameというプロパティがあります。私はこれがcvsなしの標準バインディングを使用して正常に機能することを確認したので、その一致ですべてが正常であることがわかります。
上司への言い訳が足りなくなったので、どんな助けでも大歓迎です:)。また、コードにドロップダウンして、コードビハインドで並べ替えを行う必要はありません(これは、ObservableCollectionをビルドするときに可能でしたが、DRYの原則に違反するIMHOです)。
visual-studio-2010 - CollectionViewSource クラスには INotifyPropertyChanged インターフェイスの機能が含まれていますか?
私は1つのWPFアプリを作成しました。かなりシンプルなアプリ。これはうまく機能し、今日では LOB アプリとして頻繁に使用されています。今、私は古い VB6 アプリの大幅な書き直しの作業を開始し、それを WPF アプリにもします。最初のアプリに取り組んだとき、INotifyPropertyChanged インターフェイスと、それが WPF/Silverlight データ バインディングにとっていかに重要であるかを知りました。私の懸念は、かなり前に、古いVB6アプリ用に、何年も前にVB6で書いた古い中間層コンポーネントを置き換えることを目的としたWCFサービスを書いたことです。私が作成した WCF サービスは、ADO.NET データセットを返します。正直なところ、私は何年もそれらを使用しており、それらに慣れているからです。しかし、この新しいアプリに取り組み始めた今、WCF サービスについて非常に心配しています。
それで、私は他のものを見始めました。今、私は Entity Framework を見ています。Julia Lerman の本「Programming Entity Framework: Second Edition」を使用していますが、非常に有望に見えます。前の章で彼女が書いた EDM アセンブリを使用する WPF アプリの例を調べました。アセンブリへの参照を含めると CollectionViewSource が得られ、少なくとも私には、それらが INotifyPropertyChanged インターフェイスとほぼ同じように動作するように見えます。
私の質問はこれです: CollectionViewSource クラスは INotifyPropertyChanged インターフェイスを実装していますか? MSDN のドキュメントを調べてみましたが、直接そうは言っていませんが、DependencyObject クラス CollectionViewSource が INotifyPropertyChanged インターフェイスと同じ機能を複製しているのか、それとも CollectionViewSource がそれを実装しているのか疑問に思っています。