問題タブ [inotifycollectionchanged]
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# - ObservableCollection への割り当てが CollectionChanged サブスクライバー リストを破棄しないのはなぜですか?
リロードボタンで置き換える必要がある ObservableCollection があります。これを試しているうちに、変数「myCollection」が「ReLoadData」で無効にされていても CollectionChanged イベントが発生することがわかり (以下のコード例を参照)、CollectionChanged メンバーにイベント ハンドラーを追加していない新しい ObservableCollection を割り当てました。
これは、代入演算子がC#でどのように実装されているかに関係していると思われますが、私が読んだ限りでは、C#ではオーバーライドできないため、上記の動作を説明する方法がわかりません...誰もこれを知っていますか? ?
c# - 実行時にデータを DataGrid にバインドする方法
すべて、次のように定義されたいくつかのテストデータで動作するいくつかのテストコードがあります
設計時にバインドされます
DataGrid
を介して実行時に入力される を作成しました
と
これはうまく機能しますが、テストデータで動作していたグリッドのビジュアルを更新するコードは、(私が信じている) 存在しないため、もはや機能しませんItemsSource="{Binding TestData}"
。に挿入されたテキストTextBox
と のセルにあるテキストをバインドすることになっている XAML は次のDataGrid
とおりです。
私の質問は;
DataGrid
実行時に作成するデータ セットにmy と同じバインディングを作成するにはどうすればよいですか?
私のデータがインターフェイスを実装していないことが理由だと誰かが示唆していますが、データの可変性のために、実行時INotifyCollectionChanged
にデータをロードする必要があります。DataGrid
DataGrid
データの構造が変更される可能性がある場合、このデータを実装するクラスとしてバインドするにはどうINotifyPropertyChanged
すればよいですか?
ありがとうございました。
wpf - WPF observablecollection の変更時に動的にユーザー コントロールを作成するか、ネストされたユーザー コントロールを使用して、ネストされた ObservableCollections を視覚化します
私は WPF が初めてで、問題の解決策が見つかりません。
ViewModel に Observable Collection があります。
Process クラス内には、別の ObervableCollection があります。
新しいプロセスがアクティブ化されるたびに、ビュー内の StackPanel の 1 つに新しいユーザー コントロール (プロセス データの実際の状態を視覚化できるもの、およびバースト時間) を動的に追加し、プロセスがアクティブになったときにそれを削除します。終了しました(監視可能なコレクションが変更されたとき)..実行中に、バーストタイムコレクションを表示したい..
ユーザー コントロールのコード ビハインドで CollectionChanged イベントをサブスクライブし、別のユーザー コントロール内でユーザー コントロールを使用して、イベント ハンドラーの実行時に必要な TextBlocks を動的に作成しようとしましたが、常に System.Reflection.TargetInvocationException (内部例外: システム) が発生します。 .NullReferenceException) 私の外側の InitializeComponent() が実行されているとき..
それは可能ですか?ObservableCollection の要素の変更に対応しながら、外側の UserControl の分離コードでユーザー コントロールを作成または削除し、内側の ObservableCollection で要素が変更されたときに外側を更新することはできますか? 別のユーザー コントロール内でユーザー コントロールを動的にインスタンス化する以外の方法はありますか? ObservableCollection に ObservableCollection を表示できる特別なコントロールはありますか?
(可能であれば、ObservableCollection の要素と同じくらい異なるユーザー コントロールを使用したいと考えています。)
ご協力いただきありがとうございます!
c# - INotifyCollectionChanged が UI を更新していません
以下に示すようなクラスがあります。簡潔にするために削除したすべての機能
以下に示すように、もう 1 つの Model クラスがあります。AddValueCommand は ICommand から派生したクラスですが、これも省略しています。
メイン ウィンドウで、以下に示すように UI をモデルにバインドしています。
そして、私のUIは以下のようになります
ボタンをクリックしても、リスト ボックスが新しい値で更新されません。私がここに欠けているもの。
wpf - 同じコレクションの 2 つの ICollectionView への観察可能なバインディング
だから私はフレームワークとして使用WPF
するMVVM
方法で使用Caliburn.Micro
しています。
異なる並べ替え、フィルタリング、およびグループ化で 2 回表示する必要がある ObservableCollection を持つ ViewModel があります。
このおそらく単純なアクションに苦労しています。私は通常これを行います:
そして、それはうまく機能し、ソートされ、観察可能です。
そこで、同じ方法で 2 番目のビューを追加しました。
問題は、すべての並べ替え/フィルタリングが両方のビューに対して行われることです (おそらく、デフォルトのビューにアクセスしているため、同じ参照があるためです)。
そのため、新しいインスタンスを実行しようとしましICollectionView
たが、CollectionView
使用すべきではなくListCollectionView
、リスト用に作成されているIEnumarbles
ため、メソッドを使用してもToList()
ビューはもはや観察できません。
これを行う適切な方法は何ですか?
wpf - エンティティを含む wpf dataGrid sum セル
WPF とエンティティ フレームワークで dataGrid を表示します。列 2 には単位あたりの価格があり、列 3 には数量があり (列 4 には割引があります)、列 5 は要約になります。私の質問は、3 番目の列をキャプチャして、合計列の変化を計算する方法です。
ここにコードがありますデータを表示するにはどうすればよいですか
いくつかの方法を試しましたが、結果はありませんでした
助けてくれてありがとう
vb.net - VB.NET インデックス '0' は範囲外ですか?
私はWPFでListBoxをItemSource
作成し、UIをリフレッシュさせるすべてのクラスとイベントを使用しました。Remove
しかし、私の方法には問題があります:
Public Sub Remove(ItemIndex As Integer)
MyList.RemoveAt(ItemIndex)
RaiseEvent CollectionChanged(Me, New NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, MyList(ItemIndex)))
End Sub
しかし、これを実行すると、インデックス (この場合ItemIndex
は ) が範囲外であるというメッセージが表示されます。しかし、出力ウィンドウでは、インデックスが '0' であると表示されます (そうしないと、アイテムが から削除されますMyList
)。
c# - ObservableCollection を ItemsSource として持たずに DataGridViewCell を編集する
ItemsSource が ObservableCollection でない場合、DataGridView がセルの編集を許可しないことを理解するのにかなりの時間がかかりました。私はその仮定で正しいですか?
別の DataGridView の SelectedItem のプロパティを ItemsSource として持つ DataGridView があります。残念ながら、その Property は ObservalbeCollection にすることも、それから派生させることもできません。
したがって、ここでの具体的な問題は、ItemsSource が明示的に OberservableCollection でない場合、DataGridView でセルを編集できないことです。そのため、INotifyCollectionChanged インターフェイスが存在することを願っていました。助言がありますか?
前もって感謝します
ジョン
これは、ItemsSource として機能する ViewModel のコードです。
そして、これは DataGrid の XAML コードです
c# - Delete items from LongListMultiSelector
I'm new to Windows Phone 8 development. I've been working with it for about a month now and have written my own news app consuming data from an API. I save article content offline into the app's local storage as .json files. Since I have already them saved offline I want to give my users the ability to 'save' that article to a list of favourites and have one of my pivot items show the list of saved articles for them to access later. I also want that list manageable by the user i.e. I want them to be able to delete the items as necessary.
I'm planning on loading the data context for the list using an object called:
which is simply a
I've read a lot about how to update the current view using INotifyPropertyChanged, but I think that is more about updating properties of existing items in the list. What I need is something that can update the ItemsSource after the user selects an item and then clicks delete in the AppBar. I think that is where INotifyCollectionChanged should come in, but for the life of me, I can't see how to implement it.
Looking for someone to enlighten me or point me at a great example.
I have Googled this to death but cannot find many examples and the ones I have seen, I'm just not getting.
Thanks!