問題タブ [prism-5]
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 - Prism Regions UpdateRegionsException
リージョン マネージャーに 2 つのリージョンを登録するアプリケーションがあります。1 つはコンテンツ コントロールで、もう 1 つはカスタム コントロールです。RDPセッションを使用してみるまで、アプリケーションを実行するときはどちらも問題ありません。アプリケーションを実行しているリモート マシンから切断し、アプリケーションを実行したまま RDP に再接続すると、カスタム コントロールが既に登録されているという例外が発生します。どちらも RegionMeneberLifetime が false に設定されています。
コンテンツ コントロールは最初に追加されます。
そしてカスタムコントロール
カスタム コントロールは ContentControl から継承します。
スローされる例外は
メッセージ:
「MainWorkspaceRegion」という名前の領域を作成中に例外が発生しました。例外は: Microsoft.Practices.Prism.Regions.UpdateRegionsException: 領域オブジェクトの作成中に例外が発生しました。- 最も可能性の高い原因となった例外は次のとおりです。---> Microsoft.Practices.Prism.Regions.Behaviors.RegionCreationException: 'PopupRegion' という名前の領域を作成中に例外が発生しました。例外は次のとおりです: System.ArgumentException: 指定された名前のリージョンは既に登録されています: PopupRegion
ポップアップ領域が破棄されていないようで、再度追加しようとすると爆発します。これを処理する方法について何か提案はありますか?
wpf - WPF TabControl 内での PRISM リージョンの処理
私は WPF PRISM を使用しており、 をTabItem
使用してナビゲートできるように追加する優雅なアプローチを探していRequestNavigate
ます。
これは、次のコードを使用して既に達成していますが、実際のビューではありません。実際、これらはタイトルを表示するのに役立っているだけですView1
。View2
実際の問題は、実際のビューをレンダリングするためにそこにある DataTemplate 内の領域も定義したことです。最初は、DataTemplate 内で定義されたリージョンについて RegionManager に知らせるという問題に直面していましたが、この素晴らしい投稿の助けを借りて、この問題を解決しました。
XAML でのタブ定義:
この問題に対する最善の解決策または他の効率的な方法を教えてください。
prism - Region Inside DataTamplate が登録されていません。どうやってするの
DataTemplate 内にリージョンを作成したいと考えています。私の要件は、TabControl でビューを注入した後、Tab A、Tab B、Tab C と言うことができます。その後、Tab A 内にビューを注入できるように、Tab A 内に領域を作成したいと考えています。 StackPanel 領域内にビューを挿入できます。私を助けてください。
以下の提案を適用してもまだ成功していません。
登録されていないエラー ビューをスローしています。
c# - C#デリゲートが2回呼び出されましたか?
Prism の を使用して、複数のイベントがサブスクライブされる出力ウィンドウを作成しましたEventAggregator
。これまでのところ、コンストラクターは 2 つの異なるイベントを処理しています。
SetText
どちらのイベントも、メソッドを介して同じ UI コンポーネントをターゲットにしています。
スレッド エラーを回避するためにデリゲートを作成しようとしています。
出力ホバーは次のとおりです。
出力は次のようになると思います。
また
しかし、2回呼び出されているようです。
c# - Prism - region.add と regionManager.AddToRegion の動作が異なる
次の 2 つのコード ステートメントは類似しているという印象を受けました。
と
しかし、私のプロジェクトに示されているように、どちらも異なる結果をもたらします。驚いたことに、regionManager.AddToRegion ではスコープ領域を使用する必要はありませんが、region.Add ではスコープ領域が必要です。
repo を複製し、プロジェクトをビルドして実行してください。ViewB が既に登録されているという例外が発生するはずです。TestModule.cs (以下を参照) を開き、"region.add" 行にコメントを付け、regionManager.AddToRegion のコメントを解除すると、ソリューションが完全に機能することがわかります。
私はドキュメントを読み、region.Add と regionManager.AddToRegion を断続的に使用するプロジェクトを見てきましたが、API の動作が異なるようです。
https://github.com/rohits79/PrismRegionAmbiguity/blob/master/TestModule/TestModule.cs#L22-29
アップデート
AddToRegion を 3 行追加すると、アプリケーションが異常終了することに気付きました
ただし、2行しかかかりません
これは Prism の問題ではないように見えますが、スコープを作成せずに AddToRegion が機能するのはなぜでしょうか?
c# - Prism Shell のリージョン数を変更する
こんにちは、ユニティで Prism 6 を使用しています。とナビゲーション ここに似ています
ユーザーがシェルでデータ テンプレート セレクターを使用しているために、ユーザーが WPF アプリで特定のチェックを通過した後、シェルの領域の数、形状、およびサイズを変更したいと考えています。1. 画像の左側は、最初のアプリケーション レイアウトを示しています。[DataTemplate1] 2 画像の右側は、認証後のアプリケーション レイアウトを示しています [DataTemplate2]。3.Shell.xaml.cs では、(認証後に) フラグを変更しています。イベント アグリゲーターの助けを借りて、テンプレート セレクターは適切なテンプレートを返します。[DataTemplate2] IRegion mainContentRegion = this._regionManager.Regions[RegionNames.MainContentRegion];
リージョン オブジェクトの作成中に例外が発生しました。- 最も可能性の高い原因となった例外は次のとおりです:'System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> Prism.Regions.Behaviors.RegionCreationException: 名前 '' の領域を作成中に例外が発生しました。例外は: System.ArgumentNullException: 値を null にすることはできません
Update1>> 前述のとおり、ここで提供されているナビゲーション サンプルを使用しています。ここに。デバッグすると、通常の場合、ナビゲーションの直前にリージョンマネージャーにほとんどregoinsがないことがわかりまし
たが、私の場合(シェルをテンプレート化した後)、リージョンマネージャーコレクションは空です(列挙は結果を生成しませんでした)後、リージョンコレクションを修正する必要があると思いますテンプレート シェル リージョン マネージャーのリージョン コレクションがリセットされます。Prismの専門家にアドバイスが必要です。