問題タブ [prism]
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 - ItemsControl はビューを表示するのに、ContentControl は何も表示しないのはなぜですか?
Prism に基づくアプリケーションがあります。
これは私のシェルです:
MenuModuleで、ビューをリージョンに追加すると、問題なく表示されます。
問題は、シェルにItemsControlが必要ないことです。 ContentControl が必要ですが、 ContentControlを使用すると何も表示されません。
ItemsControl がビューを表示し、ContentControl が何も表示しないのはなぜですか?
c# - 2 つのキーと 1 つのオブジェクトを持つ最適な C# コレクションは何ですか?
各モジュールがメイン コンテンツにロードするキーと要素を追加できるMenuManagerクラスを用意しました。
したがって、顧客モジュールは次のようにビューを登録します。
そのため、後で特定のビューを前面に出すために、次のように言います。
デフォルトのビュー (最初に登録されたビュー) を取得するには、次のように言います。
そして、これはうまくいきます。
ただし、モジュール名とビュー名を区切るハイフンで「コード臭」をなくしたいので、以下のコマンドで登録したいと思います。
しかし、私の現在の辞書を置き換える最良の方法は何ですか。たとえば、頭に浮かぶのは次のとおりです。
Dictionary<string, string, object> (doesn't exist)Dictionary<KeyValuePair<string,string>, object>Dictionary<CUSTOM_STRUCT, object>
新しいコレクションは、これを実行できる必要があります。
- モジュールとビュー キーでビューを取得します (例: "customer"、"help" は 1 つのビューを返します)
- モジュール キーですべてのビューのコレクションを取得します (例: "customer" は 5 つのビューを返します)。
wpf - 複合 WPF (Prism) モジュール リソース データ テンプレート
シェル アプリケーションと、Microsoft CompoisteWPF (Prism v2) を使用したいくつかの個別のモジュール プロジェクトがあるとします。
コマンドを受け取ると、モジュールは新しい ViewModel を作成し、リージョン マネージャーを介してリージョンに追加します。
次に、モジュール内にリソース ディクショナリを作成し、データ テンプレートを設定して、読み込まれたビュー モデル タイプのビューを表示できると考えました (以下の xaml を参照)。しかし、ビュー モデルがビューに追加されると、ビュー モデルの名前空間が出力されるだけです。
編集:
App.xaml に追加することで動作させることができます
これは問題ありませんが、新しいモジュールが作成されると、App.xaml ファイルを追加する必要があることを意味します。私が探しているのは、モジュールをロードして Application.Resources に動的に追加する方法です。これは可能ですか?
prism - Composite WPF(Prism)では、複数のモジュールが「ツールバー」領域を共有できますか/共有する必要がありますか?
私はCompositeWPFを初めて使用し、シェルの基本的なアーキテクチャに苦労しています。
'OutlookStyleNav'、'Main'、'Toolbar'の3つの領域を持つシェルがあると仮定します。
ツールバー領域にボタンを追加するにはどうすればよいですか?
各モジュールは、この領域に独自のボタンを追加する必要がありますか?(もしそうなら、すべてのモジュールのボタンを同時に表示する方法は?)
シェルはコントローラー内のコマンドを動的に検出し、それに基づいてボタンを作成する必要がありますか?
わからない。助言がありますか?
wpf - Composite WPF (Prism) では、コントローラをどのように単体テストすればよいですか?
1 つのモジュールで基本的な複合 WPF シェルを構築しています。モジュールを単体テストしたいと思います。どうやら複合WPFは、単体テストが簡単になるようにコードをモジュール化します。
以下は、単体テストしたいコードです。それは私のモジュールのコントローラーにあります。リージョン、プレゼンター、モデルなどの標準の複合 WPF エンティティの使用に注意してください。
これは、単体テストしたいわずか 7 行のコードです。悪くない。問題は、それが多くの外部コンポーネント (RegionManager、View、PresentationModel など) に依存していることです。
これを個別にテストするために、外部コンポーネントをモックします。これらは、Unity コンテナーを使用してコンストラクター インジェクションを介してコントローラーに渡されます。これを構成して簡単なテストを行うために、単体テストは次のようになります...
(このメソッドの長さを見てください!もっと良いテスト方法があるはずです?複合 WPF は本当に私の人生を楽にしてくれますか?そして、すべてのテストでこれを行う必要がありますか?!)
クラスをテストするより良い方法はありますか? アドバイスをいただければ幸いです。
dependency-injection - Prism/Unity でビュー (UserControl) を自動的に解決するにはどうすればよいですか?
複合アプリケーション (Prism) でモジュールをロードすると、次のエラーが発生します。
{"現在のビルド操作 (ビルド キー Build Key[CustomersModul.ViewModels.CustomerAllViewModel, null]) が失敗しました: コンストラクター CustomersModul.ViewModels.CustomerAllViewModel(CustomersModul.Views.CustomerAllView ビュー) を呼び出そうとしたときに、パラメーター ビューを解決できませんでした。(戦略の種類 Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy、インデックス 2)"}
私はこのクラスを解決しています:
そして、そのクラスは次のようになります。
通常、コンストラクター パラメーターを持たないプレゼンターを解決し、それらのビューを内部でインスタンス化します。View をパラメーターとして受け入れるViewModelを使用するのはこれが初めてです。
興味深いことに、Resharperを使用してビューに移動すると、XAML またはコード ビハインドに移動するかどうかを尋ねられるので、おそらく Prism はどちらをインスタンス化するか混乱していますか?
Prism でこのビュー (XAML とコード ビハインドを使用した UserControl) をパラメーターで自動的にインスタンス化するにはどうすればよいですか?
unity-container - Prism / Unityには「サービスプリローダー」がありますか?
Prismアプリケーションには、サービスから取得するのに3〜8秒かかるデータをロードするモジュールがいくつかあります。
私のブートストラッパーで次のようなことを言うことができるようにしたいと思います。
擬似コード:
そして、これはバックグラウンドスレッドで実行され、ユーザーが実際に変数「allCustomers」を必要とするときに、完全にロードされます。
このタイプのプリロードを行う自動サービスはPrism/Unityにありますか?
wpf - Prismのモジュールはどの程度細かくする必要がありますか?
私は現在、Prism(Composite Application Library / Guidance)を使用して私のプロジェクトに取り組んでいます。このアプリケーションは、バスケットボール用の特殊なMSPaintのようなアプリケーション(ボール、プレーヤーなどの事前定義されたオブジェクト)になります。
アプリケーションをPrismモジュールに編成する方法を考えています。特にソフトウェアの描画部分について考えるとき。
一般的な図面ビュー(2列:ツールボックス、キャンバス)を2つのモジュール(ツールボックスとキャンバス)に分割する必要がありますか、それともこれらのモジュールの絶え間ない通信によって生じるオーバーヘッドが大きすぎるでしょうか?
Prismモジュールは実際にどの程度細かくする必要がありますか?
よろしくお願いします、crischu
wpf - 1 つのプロジェクトで MEF と Prism (CAL) を使用することは可能ですか (そして合理的ですか)?
現在、Prism (CAL) を使用する WPF プロジェクトに取り組んでおり、1 つのプロジェクトで Prism と MEF の両方を使用することをお勧めします。
モジュール性には Prism を使用し、拡張性には MEF を使用します。私のプロジェクトはペイントのようなアプリケーションなので、Prism はモジュール分離 (ツールボックス、モジュールとしてのキャンバスなど) を提供し、MEF はペイントする新しい形状 (つまり、長方形、円など) の拡張ポイントを提供するために使用されます。
それは理にかなっていますか、それとも Prism だけで同様の機能を利用できますか?
前もって感謝し、よろしくお願いします、crischu
silverlight - Silverlight で Prism イベントの集計に Ninject を使用できますか?
Prismを使用してSilverlight 3でプロジェクトを行うことを検討しています。ここに示すように、イベント集約が本当に好きですhttp://development-guides.silverbaylabs.org/Video/Prism-Eventing
すべてのリソースは、Ninject ではなく、Prism で Unity を使用することを示しているようです。Ninject では、イベントを集約する同様の方法はありますか? または、Prism を使用したい場合、Unity に限定されますか?