問題タブ [itemsource]
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# - MVVMを使ってContextMenuのItemSourceを更新する方法
ContextMenu があり、ViewModel クラスからリストをバインドしようとしています。2 つの異なるメソッドを使用して、このリストを設定します。OnZonesReceived
変更が行われるとOnItemReceived
メソッドがトリガーされ、選択されたタブ項目が変更されるとメソッドがトリガーされます。このプロジェクトには tabItems があり、各 tabItem には独自の DesignerCanvas があります。
問題はZones
、選択したタブのアイテムが変更されたときに更新されますが、メソッドがトリガーされている間に DesignerCanvas が更新されたときに更新されず、OnZonesReceived
入力「キャンバス」には正しいZones
リストがあります。
リソース辞書
ビューモデル
wpf - ビューモデルにバインドされたモデルの観察可能なコレクションからアイテムソースにリストビューを更新する方法
名前、住所、国の列を持つデータテンプレートにテキストボックスをさらに含むリストビューがあります。これで、このリストビューの Itemsource は、ビューモデル クラスのモデルの観察可能なコレクションにバインドされます。
VM のある条件で、名前とアドレスを空にすることで (タイプ の) ObjModel を更新していObservableCollection<Model>
ます。ビューモデル クラスの ObjModel オブジェクトで name の値を空にすることができます。しかし、それらの変更は UI (ListView) に反映されていません。
私のビューは次のようなものです:
ビュー モデルには以下が含まれます。
いくつかの条件で私が行ういくつかの場所
itemsource が Model オブジェクトのオブザーバブル コレクションにバインドされているため、ListView で更新されません。ここから ListView を更新するにはどうすればよいですか?
私のモデルは次のとおりです。
c# - MenuItemsSource を考慮していない NavigationViewMenu
サンプル: リンク
人々がメモを保存し、メモを保存できるカテゴリを作成できるアプリケーションを開発しています。
NavigationViewItems の List をシリアル化しようとして問題が発生したため、カテゴリは List と ObservableCollection にリストされています。そこで、次のクラスを作成しました。
そして、私の App.xaml.cs には次のものがあります。
カテゴリ(ObservableCollection) は、NavigationView の MenuItemsSource として使用されます。
別のファイルには、アプリケーションの開始時に呼び出されるOpenCategoriesという関数があります。
そして、ここにUIServices.RefreshCategoriesUI()があります:
=> 私の問題は、App.Categories に NavigationViewItems が含まれていても、NavigationViewMenu が常に空であることです。なぜ更新されないのですか?
編集:
これが私が行った変更です。
カテゴリは App.xaml.cs から MainPage.xaml に移動され、DependencyProperty に変換されました
RefreshCategoriesUIは使用されなくなりました。代わりに、CategoriesItemsをObservableCollectionプロパティに変換し、CollectionChanged イベントをサブスクライブしました。
最後に、OpenCategoriesは次のように機能するようになりました。
ああ、それは明らかですが、カテゴリが移動したため、NavigationView の MenuItemSource を App.Categories からカテゴリに変更しました。
まだ機能していません。実行時に確認すると、アプリで作成したすべてのカテゴリが Categories に含まれています。
さらに、Categories に何かが含まれているかどうかを最初に確認したとき (この記事を書くため)、ブレークポイントの後、すべてのカテゴリが NavigationView にポップアップ表示され、毎回行うはずだったのですが、もう一度試してみるとうまくいきませんでした。 .