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

c# - WPFで、コードビハインドなしでCollectionViewSourceをフィルター処理できますか?

本当に主題はそれをすべて言います。

コードを後回しにできないわけではありません。それはただ私をしつこくします。

0 投票する
6 に答える
49473 参照

wpf - CollectionViewSourceのトリガーフィルター

MVVMパターンを使用してWPFデスクトップアプリケーションに取り組んでいます。

ListViewに入力したテキストに基づいて、からいくつかのアイテムをフィルタリングしようとしていますTextBoxListViewテキストを変更するときにアイテムをフィルタリングしたい。

フィルタテキストが変更されたときにフィルタをトリガーする方法を知りたいです。

ListViewバインドします。CollectionViewSourceこれはObservableCollection、ViewModelのにバインドします。フィルタテキストのTextBoxforは、必要に応じて、ViewModelの文字列にバインドされUpdateSourceTrigger=PropertyChangedます。

コードビハインドのイベントハンドラーへのFilter="CollectionViewSource_Filter"リンク。これは、ViewModelのフィルターメソッドを呼び出すだけです。

FilterTextの値が変更されると、フィルタリングが実行されます。FilterTextプロパティのセッターは、ViewModel内で反復するFilterListメソッドを呼び出し、各アイテムのViewModelにFilteredOutプロパティをObservableCollection設定します。boolean

フィルタテキストが変更されるとFilteredOutプロパティが更新されることは知っていますが、リストは更新されません。フィルタイベントは、CollectionViewSourceUserControlから切り替えて再度切り替えて、UserControlをリロードした場合にのみ発生します。

フィルタ情報を更新してから電話をかけてみましOnPropertyChanged("AllProjects")たが、問題は解決しませんでした。(「AllProjects」は、ObservableCollectionバインド先のViewModelのプロパティCollectionViewSourceです。)

CollectionViewSourceFilterTextの値が変更されたときに、を再フィルタリングするにはどうすればよいTextBoxですか?

どうもありがとう

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

wpf - コンバーターを使用した SortDescription

私は持っている list<Person> Persons

個人の ID は次のようになります:12231d4sa32fd

ID をステータス (Ready/Waiting/NotHere) に変換するコンバーターがあります。

ListView でリストを表示します。

質問: ListView を Person のステータスで並べ替えるにはどうすればよいですか?

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

wpf - ネストされたオブジェクトのバインドパス

データバインディングを理解し始めたばかりです。オブジェクトのさらに下にあるObservableCollection内にネストされているプロパティへのバインドに苦労しています。つまり、ListViewのDataTemplateで、以下のDay.DayDateプロパティにバインドしようとしています。

その日記アプリ&これはその構造です(簡潔にするために編集されています):

私は最初、次のように月日を入力します。

メインウィンドウに3つのセクションを持たせたい:

  1. 月のListView(すべての日を表示)
  2. Day ListView(選択したDays Gigsを表示)
  3. コンテンツコントロール(選択したギグギグプロパティを表示)

私はパート1で立ち往生しています、私のXamlは次のようになります:

TextBlockで、Months StartDateへのバインドは正常に機能します。次に、その下にリストされているすべてのMonths DayオブジェクトDayDate(31まで、つまり01Satから31Monまで)を表示します。

Day.DayDateが表示されていません!どうすればそれにバインドできますか?

現時点では「Path=Day.DayDate」を見ることができますが、私はこれに間違った角度からアプローチしていると信じる可能性をほぼすべて試しました。

どんな助けでも大歓迎

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

c# - CollectionViewSourceで行が新しいかどうかを確認します

ソースとしてDataTableを強く型付けしたCollectionViewSource(cvs)があります。Cvs.ViewはDataGridのItemsSourceとして設定されます。DataGridの変更に基づいて、データベースのデータを更新、挿入、および削除したい。更新は正常に完了し、削除することも考えていますが、挿入についてはいくつか問題があります。cvs.ViewのCurrentChangingイベントを処理してこれを実行しようとしましたが、行の状態は常に切り離されているため、追加する必要があります。これが私のコードです:

これは正しい方法ですか?私は何かが足りないのですか?前もって感謝します。

編集:DataGridバインディング:

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

wpf - WPF-ObservableCollectionの複数のビュー

2つのCollectionViewを含むビューモデルが定義されています。

ナビゲーションとデータ入力/編集に使用しているもの。もう1つは、フィルタリングの目的で使用し、フォームのリストビューにフィルタリングを表示したいと思います。

observablecollectionにフィルタリングを適用しているときに、メインビュー(データ入力の目的で使用)が影響を受けないようにします。

前もって感謝します!

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

wpf - CollectionViewSourceの質問へのバインド

私の問題は次のようになります。

私は2つのリストボックスを持っています:

1つはPhotosタイプの写真と呼ばれるコレクションにバインドされ、もう1つは同じ写真コレクションにバインドされているCollectionViewSourceにバインドされます。

listBox1->写真(ここでは、listBox1はもちろん写真のデフォルトのCollectionViewにバインドされており、写真に直接バインドされていません。)

ListBox2->cvs->写真

両方のコレクション(デフォルトのコレクションと私のCVS)には、表示されるアイテムを8アイテムから5アイテムに減らすフィルターがあります。

今私は2つのラベルを持っています。1つはphotosオブジェクトのCountプロパティにバインドされ、もう1つはソースがcvs(my CollectionViewSource)オブジェクトであるCountプロパティにバインドされます。

最初のラベルには数字の8が表示されています。これは、デフォルトのCollectionViewSourceをフィルタリングしているにもかかわらず、写真の数が8のままであるためです。

2番目のラベルは番号5を示しています。

私がcvsへのバインドについて学んだことは、WPFがソースオブジェクトをcvsからアンラップし、Path = Countが写真である基になるオブジェクトに関連しており、ここでの数も8である必要があるということです。

誰かが私がどこで着ているのか説明できますか?

ありがとう!

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

wpf - WPF - フィルタリング後もコレクション数が変わらない

photos と呼ばれる写真タイプのコレクションにバインドされた ListBox があります。

写真の Count プロパティにバインドされた Label があります。

写真には初期状態で8個のアイテムが含まれており、ラベルはそれを示しています。ListBox に表示されるアイテムを 5 にするフィルタリングの後でも、photos.Count プロパティにバインドされたラベルは 8 個のアイテムを表示します (もちろん、写真コレクションが変更されていないため、デフォルトの CollectionView のみが変更されました。

ラベルを写真のデフォルト CollectionView の Count プロパティにバインドするにはどうすればよいですか?

私が作成した CollectionViewSource を使用してこれを作成する方法は知っていますが (たとえば、リソースとして)、デフォルトコレクション ビューのカウントにバインドする方法を知りたいです。

ありがとう

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

windows-phone-7 - SelectedItemはCollectionViewSourceで最初のアイテムに設定されます

WP7プロジェクトのビューモデルにmvvmライトを介してデータバインドされたビューがあります。ビューには、次の設定のリストボックスが含まれています。

StationListはObservableCollectionです。

ビューが読み込まれると、すべてが見栄えがします。リストが表示され、アイテムが選択されていません!

しかし、XAMLを次のように変更すると:

StationListSortedは、StationListでCollectionViewSourceとしてソートされる単純な1つのプロパティです。今、物事は醜くなります!同じビューにリストボックス内の同じアイテムが読み込まれますが、正しくソートされていますが、最初のアイテムが選択され、selectedItemプロパティが設定されています!!

最初のアイテムを自動選択せずに、CollectionViewSourceを使用してリストボックスを並べ替えるにはどうすればよいですか?

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

wpf - UserControlでCollectionViewSourceを使用したネストされたフィルタリング

フィルタリングする必要のあるコレクションを表示するUserControlがありますが、コントロールに渡されたコレクションがメインウィンドウでフィルタリングされる場合があります。次のようになります。

Window1.xaml

UserControl1.xaml

CollectionViewSource.SourceはListCollectionViewを受け入れないため、これは機能しません。「'System.Windows.Data.ListCollectionView'はプロパティ'Source'の有効な値ではありません」という例外がスローされます。

UserControlでDataContextChangedイベントを使用して、ListCollectionViewに手動でフィルタリングを追加できると考えましたが、それはネストされず、ListBox.ItemsSourceプロパティも手動で設定する必要があります。既存のビューを使用して、Filterプロパティを変更します。私がやりたいのは、CollectionViewSourceを使用して別のビューを作成し、xamlを挿入できるようにすることです。それは可能ですか?

UserControlでCollectionViewsだけでなく通常のコレクションも処理できるようにしたい。