私は2つのプリズムモジュールを持っています。 "Show Dialog"モードを使用して、1人がウィンドウを登録し、もう1人がこのウィンドウを表示します。 どうすれば完了できますか?プリズム:2つのモジュールを介してダイアログウィンドウを表示
3
A
答えて
1
よく。私はthis tipに従って解決したと思う。しかし、それが最良の解決策であるかどうかはわかりません。
私はちょうど私のシェルプロジェクトでウィンドウを作成しました。このウィンドウは、ダイアログウィンドウとしてポップアップされます。
Popup.xaml:ここ
はそのコードです
<Window x:Class="TryERP2.Shell.Views.Popup"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Popup" Height="315" Width="411"
xmlns:prism="http://www.codeplex.com/prism">
<Grid>
<ContentControl x:Name="DialogRegion" Grid.Row="1" prism:RegionManager.RegionName="DialogRegion" />
</Grid>
</Window>
Popup.xaml.cs:
public partial class Popup : Window
{
private static Popup popup;
private Popup(IRegionManager regionManager)
{
InitializeComponent();
RegionManager.SetRegionManager(this, regionManager);
}
//Using the singleton pattern
public static Popup getPopup(IRegionManager regionManager)
{
if (popup == null)
popup = new Popup(regionManager);
return popup;
}
}
そして、最後に、私は(ダイアログを表示したいですモジュール内のコマンド)、私はそれをインスタンス化し、RegionManagerが何であるかを知らせます:
private void showDialog()
{
// Acquiring the RegionManager
var regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
// Getting the Popup object
Popup p = Popup.getPopup(regionManager);
// Looking for the view I want to show in the dialog
var x = new Uri("MyView", UriKind.Relative);
// Changing the view of the DialogRegion (which is within the Popup)
regionManager.RequestNavigate("DialogRegion", x);
// Showing the dialog
p.ShowDialog();
}
1
はい、できます。これは大まかな手順です:あなたの「インフラストラクチャ」プロジェクトでは、このビューの
宣言インタフェース
public interface IMyDialogWindow
{
}
あなたのモジュール
[Export(typeof(IMyDialogWindow))]
public class MyClassInModuleA : IMyDialogWindow
{
}
[インポート]このクラスでは、このインタフェースを実装
[エクスポート]クラス他のモジュールでそれを使用してダイアログに使用する
[Import]
public IMyDialogWindow PropertyInModuleB
関連する問題
- 1. Flash 8でダイアログウィンドウを表示
- 2. プリズムを使用してタブのヘッダを表示
- 3. プリズムにモジュールをロードする2つの方法の違いは何ですか?
- 4. ダイアログウィンドウからすべてのダイアログボタンを非表示/非表示にするには
- 5. は2つのモデルを表示して表示します
- 6. 2つのdivを非表示にして表示したい
- 7. コンポジットWPF(プリズム)モジュールのリソースデータテンプレート
- 8. プリズムのモジュール依存関係
- 9. AJAXを介してデータテーブルを表示
- 10. 利用可能な場合、プリズム領域にモジュールを表示する
- 11. プリズム+モジュールはWCFをデータアクセス層として使用します
- 12. ダイアログウィンドウのリンクリストJAWS機能(insert + F7)はすべてのバックグラウンドリンクを表示します
- 13. nodejsと別のモジュールを介してログイン
- 14. プリズム4モジュールを.resxファイルでローカライズ
- 15. exceljsモジュールを介してExcelを読む
- 16. webpackを介してtypescriptにモジュールをロード
- 17. 2つのディビジョンを並べて表示
- 18. 私はモジュールAでは2モジュール を持っている地域のgetViewメソッド(プリズム5.0)
- 19. Actionscript 2を使用して1つのテキストフィールドに2つの色を表示
- 20. jQuery非表示\データの属性を介してテーブルの行を表示
- 21. IntentServiceを介してダイアログを表示していますか?
- 22. 1つのモデルを使用して2つのLINQクエリを表示して表示する
- 23. 2つのフルスクリーンメニュー - トグルクラスを使用して1つを表示して非表示にする方法 -
- 24. 2つのテキストを比較して差分のみを表示
- 25. SQL Joinを使用して2つのテーブルのデータを表示
- 26. バインディングを介して、2つのテキストフィールドにそれぞれテーブルビューの2つの行の日付を表示します。
- 27. iOS 2つのビューをアニメーション化して重ねて表示
- 28. グループを介して2つのレコードを結合する
- 29. 2つのデータ・バスリンクを介してPL/SQL APIを使用
- 30. 2つのAndroidデバイスでオーディオジャックケーブルを介してデータを転送
サンプルコードを投稿できますか?私はあなたの答えを完全に理解できませんでした。私は他のプロジェクトのファイルを複製する必要がありますか?私は最初のモジュールのIoCコンテナにビューを登録し、それを第2のモジュールに表示して表示する方法で考えていました。 –
「インフラストラクチャー」モジュールに配置できるインターフェースを介してModuleAとModuleBを「接着」する必要があります。これにより、ModuleBはModuleAからウィンドウをインポートすることができます。 – katit
ありがとう。それはUnityと一緒に使えますか? –