問題タブ [viewmodellocator]
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 - ViewModelLocatorとは何ですか?DataTemplatesと比較した場合の長所/短所は何ですか?
誰かがViewModelLocatorとは何か、それがどのように機能するか、そしてDataTemplatesと比較してそれを使用するための長所/短所は何であるかについての簡単な要約を教えてもらえますか?
私はグーグルで情報を見つけようとしましたが、それの多くの異なる実装があり、それが何であるか、そしてそれを使用することの賛否両論についての筋書きリストがないようです。
wpf - What is the preferred way to connect viewmodels to their views?
In the past while working with MVVM I've created every View as a DataTemplate
to it's corresponding viewmodel to handle connecting them. I just started using MVVM Light, and noticed they have the ViewModelLocator
. Several other toolkits I've looked at include some variation of this, but what benefit does this bring over using DataTemplate
?
Which is the best practice for connecting your Views and ViewModels?
silverlight - IOC子コンテナを持つViewModelLocator?
IOC 子コンテナーを使用している場合、ViewModelLocator パターンをどのように実装しますか? 典型的なロケーターの実装は次のようなものです:
ここで、Services.ServiceLocator は読み取り専用の静的プロパティです。ただし、子コンテナーを使用している場合、これはうまくいきません。子コンテナーを使用した Services.ServiceLocator の私の定義は次のとおりです。
明らかにこれは正しくありません。注入された依存関係は、子コンテナーではなくルート コンテナーから取得されます。(子コンテナが作成され、現在のビュー以外のものによってブートストラップされます。したがって、現在のビューは子コンテナから自動配線できます。)
では、複数コンテナーのシナリオで適切なコンテナーを取得するにはどうすればよいでしょうか? 標準的な答えは、コンストラクターを挿入することですが、ViewModelLocator ではそれができないようです。XAML から構築できるように、既定のコンストラクターが必要です。
また、私は PRISM 複合アプリケーションで作業しているため (したがって、マークアップ拡張機能はありません)、Silverlight 4 と WPF 4.0 の両方で機能するソリューションを求めています。たまたま Unity を IOC コンテナーとして使用しています。ああ、ソリューションは Blend で機能するはずです (つまり、IoC コンテナーをバイパスする新しい設計時のビュー モデルの作成を妨げるべきではありません)。
c# - デザインタイムビューモデルを別のアセンブリにどのように配置しますか?
ビューモデルロケーターパターンでMVVMLightとPrismを使用しています。Blendで使用するためのデザインタイムビューモデルが本当に好きですが、必ずしもプロダクションコードと一緒に出荷する必要はありません。設計時のビューモデルを別のアセンブリに配置し、ビューモデルロケーターにそこで見つけるように指示する方法はありますか?設計時アセンブリ(* .Design.dll)がこの問題の解決に役立つようですが、その方法を完全に理解することはできません。
unity-container - 複数インスタンスの ViewModel と ViewModelLocator
Unity を使用して ViewModelLocator を構築し、それをシングルトン ViewModel インスタンスで正常に使用しています。例えば:
ViewModelLocator は、App.xaml でリソースとして定義されています。
これにより、次のように、任意のビューで ViewModel にバインドできます。
私の質問は、同じ ViewModel の複数のインスタンスで同じパターン (およびブレンド可能性) を維持するにはどうすればよいですか?
この投稿で 私がやろうとしていることへの参照を見つけました ただし、実装の詳細には入りません。
私ができるようにしたいのは、これらの Views/ViewModel ペアの複数のインスタンスをさまざまなデータ ツリーに使用して、それらの間でコピー アンド ペーストできるようにすることですが、コンテナーを使用して ViewModelLocator 内の特定のインスタンスに対応する方法を考えることができませんか?
上記の投稿のように、ある種の ViewModels のコレクションが必要であると想定していますが、そのコレクションを Unity コンテナーに登録するにはどうすればよいですか?
どんな助けでも大歓迎です。
silverlight-4.0 - Silverlight 4 の子ウィンドウで MVVM Light View Model Locator を使用する
子ウィンドウで View Model Locator を使用したいと考えています。問題はこれが機能しないことです:
次のエラーが表示されます: 名前/キー ロケータを持つリソースが見つかりません
mvvm - Unity 2.0 での「ブレンド可能な」ViewModelLocator の提案
MVVM パターンを使用してビューとビューモデルを分離する既存の Silverlight アプリケーションのスイートがあります。IoC コンテナーに Unity 2.0 を使用して、依存関係を ViewModel クラス (およびサポートする型) に注入します。Unity コンテナーを使用して ViewModel を解決する既存の ViewModelLocator クラスがあります。
これらはすべて、実行時にうまく機能します。ただし、ViewModelLocator は、App.xaml.cs の Application_Start メソッドから「実行」される Bootstrapper クラスによって作成および構成されている Unity コンテナーに依存しているため、デザイナーまたは Blend でビューを開くことができなくなりました。 .
「ブレンダビリティ」をサポートするために ViewModelLocator を作り直す方法の提案を探しています。
Blendability のためだけに、ViewModel クラスにデフォルトのパラメーターなしのコンストラクターを強制的に実装するつもりはないことに注意してください。また、ViewModel に (MVVM Light ViewModelBase クラスの) IsInDesignMode プロパティをチェックさせて、サービス呼び出しではなくデザイン時のデータを提供するので、デザイン時と実行時に異なる ViewModel 実装がありません。
どう考えているか教えてください。
c# - Simple MVVM Toolkit - ViewModel を切り替えると失われる
MVVM ツールキットを使用しています。私のViewModelsには、ViewModelを別のViewModelに切り替えるときに保存したいデータを保持しています。
ViewModel の切り替えを担当するのは ViewModelLocator です。
http://simplemvvmtoolkit.codeplex.com/wikipage?title=Getting%20 開始点 8.
ViewModelLocator は毎回新しい ViewModel を返します:
MVVM のルールを破りたくありません。私はこのような新しいオブジェクトを作成することを考えていました:
...またはViewModelを切り替えている間、ViewModelをシリアライズし、ロードし直すとデシリアライズ...
この問題の適切な解決策は何ですか?
c# - MEF の ViewModelLocator
ViewModelLocator
MEF用があるかどうか知りたいです。もしあれば、それへのリンクを教えていただけませんか?プリズムと併用する予定です。
c# - Prism と MVVM Light Toolkit
Prism (CompositeUI 専用) と MVVM Light Toolkit (MVVM アーキテクチャ = D 用) を連携させようとしていますが、Light ViewModelLocator で問題が発生しています。「単純な」WPF アプリケーションでロケーターを使用すると、次のように App.xaml でアプリケーション リソースを使用できます。
しかし、Prism を使用している場合、ビジネス コードは Module プロジェクト内にあり、App.xaml がないため、そのリソースを View リソース内に配置しようとしました。
デザインモード(およびランタイム)エラーをオフにしただけですが、割り当てられた領域にビューが表示されません。
誰かがすでにこのようなことをしようとしましたか?Prism と MVVM Light を連携させることはできますか?
これは私の「完全な」コードです:
(ViewLight.xaml)
ViewLightModel.cs:
Financeiro.cs (モジュール初期化クラス ... 部分的に表示 ... 登録してビューを「呼び出す」場所):
「通常の」MVVM Light Application には App.xaml ファイルがあり、Prism モジュールのビューでは使用されていないと思います。そのファイルの構造は次のとおりです。
それが、アプリケーションを実行すると起こることです。モジュールにあったビューをこの空白スペースにロードして、そのボタンを表示する必要がありますが、何も起こりませんでした:
http://imageshack.us/photo/my-images/818/capturarwy.png
このビューを変更してその場所に「単純なビュー」(MVVMLight を使用しない) を配置しようとすると、下の図に示すように完全に機能します。