問題タブ [prism-4]

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.

0 投票する
2 に答える
322 参照

c# - .NET MEF インポート チェーンの中断

この例では、トップレベルが ClassA をインポートしていると想定できます。MEF は、すべて (つまり ClassX) をインポートする限りうまく機能するようです。classB は同じ名前空間/ファイルにあるため、多くの場合、インポートする必要はありません。その結果、インポート チェーンが壊れ、myLog インポートが構成されなくなりました。私の例では、ClassB はロガー サービスをインポートしようとしていますが、これはほとんどすべてのクラスが必要とするものです。

この問題に対する意図された/最良の MEF ソリューションはどれですか?

1) インポート チェーンが壊れたら、二度とインポートを使用しないでください。代わりに、すべてのタイプの作成/コンストラクターへの受け渡しを開始する必要があります (つまり、new ClassB(myLog))。これはこの例では機能しますが、チェーンに引数を使用しない中間クラスがあると面倒です。

2) System 名前空間の IServiceLocator を使用して、ClassB をインポートします。私の知る限り、ServiceLocator (例: Prism Framework) は依存性注入スキームを抽象化するためだけに存在します。この例では、ClassB が IServiceLocator をインポートできる場合、ILogger をインポートできます。

3) トップレベルに戻り、ComposeParts(ClassB) を呼び出します。トップレベルが ClassB に依存しないようにするために、classB にインターフェイス (IComposeMe) を実装させ、トップレベルがインポートするようにします。次に、トップレベルは、すべての IComposeMe インポートのコンテナーで ComposeParts になります。MEF フレームワークのドキュメントで説明も使用もされていないため、これが意図したソリューションであるとは思いません。

4) 実は私には考えがありません。助けてください...

0 投票する
1 に答える
502 参照

silverlight-4.0 - Silverlight 4 + WCF RIA サービス + Prism v4 シェルにモジュール依存関係が必要なのはなぜですか?

プロジェクトが次のようにレイアウトされている WCF RIA Services + Prism v4 アプリケーションを作成しようとしています。

クライアント側

モジュール (今のところ 1 つだけ):

Project.Modules.Clients (私の Project.Web アプリケーションへの WCF RIA サービス リンクを含み、サーバー側の Project.Web プロジェクトに依存します)

シェルプロジェクト

Project.Shell (私の Project.Web アプリケーションへの WCF RIA サービス リンクを含み、Project.Modules.Client モジュールと Project.Web プロジェクトに依存します。また、継承した UnityBootstrapper で使用されるモジュール カタログ XAML ファイルも含みます)

サーバ側

メイン Web プロジェクト

Project.Web (私の WCF RIA サービス、DataModel などを含む)

質問

シェル プロジェクトからモジュール プロジェクトを参照する必要があるのはなぜですか? これは、動的モジュールの初期化の目的を本質的に無効にしませんか? 以下を含むいくつかのサンプルプロジェクトとブログ投稿に従って、以下を試みました。

http://telecosystems.codeplex.com

および付随するブログ投稿はこちら:

http://bachelorthesis.zdechovan.com/prism-solution-based-on-the-business-application-template/

また、David の MSDN ブログ投稿は次のとおりです。

http://blogs.msdn.com/b/dphill/archive/2009/08/17/prism-and-net-ria-services.aspx

参照を含めないとどうなるかは、次のような例外です。

そのため、ブートストラップとモジュール カタログ ファイルを 3 回チェックしましたが、明らかに Unity はモジュールを認識できないようです。

私のシェルから私のモジュールへのそのような参照を要求するために私が間違っているかもしれないことについてのポインタは大歓迎です。

ありがとう。

0 投票する
1 に答える
68 参照

c# - この領域の登録済みビューに基づくさまざまな制御

私は、特にビューを登録するためのプラグイン (ユニティ ベース) の領域を提供する複合アプリケーションを構築しています。

問題は、登録されたビューの数に基づいて、その地域に別のレイアウトを持たせたいということです。特に、「1 つのビューが登録されている」場合には巨大な (全方向に引き伸ばされた) 単一の領域が必要であり、「> 1 つのビューが登録されている」場合には 2 列 (均一) のグリッドが必要です。

だから - 今のところ、私は次のような(単純化された)ものを持っています:

ビューが ~dynamic~ であり、別の場所に登録されている場合、例外的な「1 つの要素のみ」のケースをどのようにカバーできますか?

0 投票する
1 に答える
278 参照

silverlight-4.0 - Prism4に基づくSilverlightアプリケーションのモジュール間でスタイルを共有する

Prism 4に基づくSilverlightアプリケーションのいくつかのモジュールでスタイルを使用する必要があります。これに最適なアプローチは何ですか?

0 投票する
2 に答える
55 参照

architecture - モジュラー アプリケーションのデータの処理

各モジュールが強力なインターフェイスを持つ他のモジュールを介してのみ通信するモジュラー アプリケーションを作成しました。最近、各モジュールがアクセスするオブジェクトの共有セットが下にあるため、モジュールを完全に分離できていないことがわかりました。

このレイヤーを分離する最良の方法は何ですか? データ オブジェクトは、新しいレコードの画面に表示されるものを表します。

0 投票する
2 に答える
3393 参照

wpf - Prism / MEF: リージョン名をハードコーディングせずに ViewWithRegion を登録する方法

WPF Prism アプリケーションを構築しています。さまざまなモジュール プロジェクトに取り組んでいるさまざまな開発者がおり、複数のモジュールがメインのアプリケーション シェルに挿入されています。メイン アプリケーションも別のプロジェクトです。また、さまざまなアプリケーションでモジュールを使用できるようにしたいと考えています。すべてのアプリケーションでリージョンに同じ名前を付ける必要はありません。

たとえば、2 つの異なるアプリケーションで使用するモジュールがあるとします。あるアプリケーションでは、その開発者がモジュールの領域に「DetailsRegion」という名前を付け、別のアプリケーションでは、その開発者が「ResultsRegion」という名前を付けることがあります。

私が見つけることができるすべての例は、モジュールのクラス定義でリージョン名をハードコーディングすることにより、ビューをリージョンに登録します。

私がやりたいことは、リージョン名をメイン アプリケーションの app.config ファイルに入れ、この名前をモジュールに渡すことです。このようなもの:

メインのシェル アプリケーションの app.config:

そして、モジュールのクラス ファイルで:

ある意味で、これはモジュールをシェルから、またモジュール同士を完全に分離するための最後のステップです。

これは、モジュールのビューで完全に機能します。ただし、ConfigurationManager はそのレベルでは使用できないため、モジュールのクラス定義ファイルでは実行できません。

これを行うには、モジュールのapp.configの ApplicatonSettings セクションにリージョン名を入れます。しかし、これはモジュールを 1 つの場所に格納して複数のアプリケーションでロードできるようにするという目的を無効にします。これは、メイン アプリケーションのapp.configにある必要があります。

コードでリージョンの名前をハードコーディングせずに、モジュールのビューをリージョンに登録する方法はありますか? 私たちは何もハードコーディングしないように努めています。ここで本当に必要ですか?

0 投票する
2 に答える
1708 参照

wpf - 独自のビュー解決サービスを実装して、RequestNavigateに使用させることはできますか?

私はPrismにかなり慣れていません。現在、概念実証プロジェクトとしてPrismを使用して、既存のアプリケーションの1つを書き直しています。

アプリケーションは、ViewModelの最初のアプローチでMVVMを使用します。ViewModelはコンテナーによって解決され、IViewResolverサービスは、(特に名前の規則を使用して)どのビューに接続する必要があるかを判断します。

現時点でのコード(タブコントロールにビューを追加するため)は次のようになります。

これはすべて正常に機能しますが、Prismナビゲーションフレームワークを使用してこれらすべてのことを実行し、次のようなことができるようにしたいと思います。

そして、PrismにViewModel + Viewを起動させ、DataContextを設定して、ビューを領域に挿入します。

ViewModelタイプを参照するDataTemplatesを作成することで、ある程度の成功を収めました。例:

...そして、モジュールが初期化されるときに、関連するリソースディクショナリをアプリケーションリソースに追加するようにモジュールに指示しますが、それは少しごみのようです。

Prismからビューの作成を効果的に引き継ぐ方法はありますか?そうすれば、RequestNavigate呼び出されたときに、提供されたものを見て、Uriそれに基づいてビュー/ビューモデルを起動できますか?あなたが自分でビューを提供することを可能にするデリゲートを必要とする過負荷がありRegionManager.RegisterViewWithRegionます、そして私はそのようなものを求めていると思います。

私は自分IRegionBehaviorFactoryで提供する必要があるかもしれないと思いますが、何が関係しているのかわかりません(または私が正しい道を進んでいるとしても!)。

助けていただければ幸いです。

--注:元々はプリズムコードプレックスサイトに投稿されました

0 投票する
1 に答える
1501 参照

silverlight - プリズム4を使用してSilverlight5でファイルまたはアセンブリ'System.Windows.Controls'を読み込めませんでした

プリズム4を使用してアプリケーションSilverlight5を作成していますが、UnityBootstrapperを使用してブートストラッパーを実行すると、次のエラーが発生します。

ファイルまたはアセンブリ'System.Windows.Controls、Version = 2.0.5.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

ConfigureRegionAdapterMappingsメソッドの次のエラー:

奇妙なことに、プロジェクトをSilverlight 4に変更すると、正常に機能します(?)。手伝っていただけませんか?

ありがとう!

0 投票する
0 に答える
190 参照

c# - Prism 4 +Mef+パブリックパーシャルクラスApp=Bag?

インターフェイスIPartImportsSatisfiedNotificationを実装しようとしていますが、残念ながら機能しません。このバグ私はプリズムしか持っていません。なぜこれが起こっているのか理解できません。

テストアプリケーション

0 投票する
1 に答える
346 参照

windows-phone-7.1 - Prism 4 for Windows Phone 7 の使用例

Windows Phone 7 で Prism 4 MVVM フレームワークを使用する簡単な例はありますか?

そして、テストは書かれており、文書化されていますが、最も重要なのは、がありません。

PS彼らは何を考えていますか???