問題タブ [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.
c# - WPFで、コードビハインドなしでCollectionViewSourceをフィルター処理できますか?
本当に主題はそれをすべて言います。
コードを後回しにできないわけではありません。それはただ私をしつこくします。
wpf - CollectionViewSourceのトリガーフィルター
MVVMパターンを使用してWPFデスクトップアプリケーションに取り組んでいます。
ListView
に入力したテキストに基づいて、からいくつかのアイテムをフィルタリングしようとしていますTextBox
。ListView
テキストを変更するときにアイテムをフィルタリングしたい。
フィルタテキストが変更されたときにフィルタをトリガーする方法を知りたいです。
にListView
バインドします。CollectionViewSource
これはObservableCollection
、ViewModelのにバインドします。フィルタテキストのTextBox
forは、必要に応じて、ViewModelの文字列にバインドされUpdateSourceTrigger=PropertyChanged
ます。
コードビハインドのイベントハンドラーへのFilter="CollectionViewSource_Filter"
リンク。これは、ViewModelのフィルターメソッドを呼び出すだけです。
FilterTextの値が変更されると、フィルタリングが実行されます。FilterTextプロパティのセッターは、ViewModel内で反復するFilterListメソッドを呼び出し、各アイテムのViewModelにFilteredOutプロパティをObservableCollection
設定します。boolean
フィルタテキストが変更されるとFilteredOutプロパティが更新されることは知っていますが、リストは更新されません。フィルタイベントは、CollectionViewSource
UserControlから切り替えて再度切り替えて、UserControlをリロードした場合にのみ発生します。
フィルタ情報を更新してから電話をかけてみましOnPropertyChanged("AllProjects")
たが、問題は解決しませんでした。(「AllProjects」は、ObservableCollection
バインド先のViewModelのプロパティCollectionViewSource
です。)
CollectionViewSource
FilterTextの値が変更されたときに、を再フィルタリングするにはどうすればよいTextBox
ですか?
どうもありがとう
wpf - コンバーターを使用した SortDescription
私は持っている list<Person> Persons
個人の ID は次のようになります:12231d4sa32fd
ID をステータス (Ready/Waiting/NotHere) に変換するコンバーターがあります。
ListView でリストを表示します。
質問: ListView を Person のステータスで並べ替えるにはどうすればよいですか?
wpf - ネストされたオブジェクトのバインドパス
データバインディングを理解し始めたばかりです。オブジェクトのさらに下にあるObservableCollection内にネストされているプロパティへのバインドに苦労しています。つまり、ListViewのDataTemplateで、以下のDay.DayDateプロパティにバインドしようとしています。
その日記アプリ&これはその構造です(簡潔にするために編集されています):
私は最初、次のように月日を入力します。
メインウィンドウに3つのセクションを持たせたい:
- 月のListView(すべての日を表示)
- Day ListView(選択したDays Gigsを表示)
- コンテンツコントロール(選択したギグギグプロパティを表示)
私はパート1で立ち往生しています、私のXamlは次のようになります:
TextBlockで、Months StartDateへのバインドは正常に機能します。次に、その下にリストされているすべてのMonths DayオブジェクトDayDate(31まで、つまり01Satから31Monまで)を表示します。
Day.DayDateが表示されていません!どうすればそれにバインドできますか?
現時点では「Path=Day.DayDate」を見ることができますが、私はこれに間違った角度からアプローチしていると信じる可能性をほぼすべて試しました。
どんな助けでも大歓迎
c# - CollectionViewSourceで行が新しいかどうかを確認します
ソースとしてDataTableを強く型付けしたCollectionViewSource(cvs)があります。Cvs.ViewはDataGridのItemsSourceとして設定されます。DataGridの変更に基づいて、データベースのデータを更新、挿入、および削除したい。更新は正常に完了し、削除することも考えていますが、挿入についてはいくつか問題があります。cvs.ViewのCurrentChangingイベントを処理してこれを実行しようとしましたが、行の状態は常に切り離されているため、追加する必要があります。これが私のコードです:
これは正しい方法ですか?私は何かが足りないのですか?前もって感謝します。
編集:DataGridバインディング:
wpf - WPF-ObservableCollectionの複数のビュー
2つのCollectionViewを含むビューモデルが定義されています。
ナビゲーションとデータ入力/編集に使用しているもの。もう1つは、フィルタリングの目的で使用し、フォームのリストビューにフィルタリングを表示したいと思います。
observablecollectionにフィルタリングを適用しているときに、メインビュー(データ入力の目的で使用)が影響を受けないようにします。
前もって感謝します!
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である必要があるということです。
誰かが私がどこで着ているのか説明できますか?
ありがとう!
wpf - WPF - フィルタリング後もコレクション数が変わらない
photos と呼ばれる写真タイプのコレクションにバインドされた ListBox があります。
写真の Count プロパティにバインドされた Label があります。
写真には初期状態で8個のアイテムが含まれており、ラベルはそれを示しています。ListBox に表示されるアイテムを 5 にするフィルタリングの後でも、photos.Count プロパティにバインドされたラベルは 8 個のアイテムを表示します (もちろん、写真コレクションが変更されていないため、デフォルトの CollectionView のみが変更されました。
ラベルを写真のデフォルト CollectionView の Count プロパティにバインドするにはどうすればよいですか?
私が作成した CollectionViewSource を使用してこれを作成する方法は知っていますが (たとえば、リソースとして)、デフォルトコレクション ビューのカウントにバインドする方法を知りたいです。
ありがとう
windows-phone-7 - SelectedItemはCollectionViewSourceで最初のアイテムに設定されます
WP7プロジェクトのビューモデルにmvvmライトを介してデータバインドされたビューがあります。ビューには、次の設定のリストボックスが含まれています。
StationListはObservableCollectionです。
ビューが読み込まれると、すべてが見栄えがします。リストが表示され、アイテムが選択されていません!
しかし、XAMLを次のように変更すると:
StationListSortedは、StationListでCollectionViewSourceとしてソートされる単純な1つのプロパティです。今、物事は醜くなります!同じビューにリストボックス内の同じアイテムが読み込まれますが、正しくソートされていますが、最初のアイテムが選択され、selectedItemプロパティが設定されています!!
最初のアイテムを自動選択せずに、CollectionViewSourceを使用してリストボックスを並べ替えるにはどうすればよいですか?
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だけでなく通常のコレクションも処理できるようにしたい。