問題タブ [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 - Prism v2: モジュールが「ビュー タイプをシェルに登録する」必要がある理由の明確化を求める
私はPrism v2 のガイドラインを読んでいます。
初期化中、モジュールは RegionManager を使用してシェル内の領域を特定し、それらの領域に 1 つ以上のビューを追加するか、それらの領域内に作成される1 つ以上のビュー タイプを登録します。
GetModuleCatalog() メソッドなどのブートストラップにビューが追加されることを理解しています。
しかし、ビュー タイプを登録するとはどういう意味でしょうか。上記のコードのように、モジュールが既に「ビューを追加」している場合、モジュールはシェルに「ビュータイプを登録」する必要があるのはなぜですか?
wcf - サービス参照生成クラスからの Silverlight クライアントの切り離し
クイックスタートを実行して Prism v2 を調査しています。そして、次の署名を使用して WCF サービスを作成しました。
このサービスへのサービス参照を Silverlight プロジェクトに追加すると、インターフェイスとクラスが生成されます。
具象クラスの代わりにインターフェイスを渡すことで、アプリケーションを分離しようとしています。しかし、これを行う方法の例を見つけるのに苦労しています。EndGetMessage を呼び出して UI を更新しようとすると、間違ったスレッドで UI を更新するという例外が発生します。バックグラウンド スレッドから UI を更新するにはどうすればよいですか?
私は試しましたが、私は得UnauthorizedAccessException : Invalid cross-thread access
ます。
によって例外がスローされApplication.Current.RootVisual
ます。
prism - Prism の ShellPresenter は、MVP パターンのように (P) resenter ですか?
Prism (複合アプリケーション ガイドライン) を理解しようとしています。
ShellPresenter の役割を理解する最良の方法は何ですか? Model-View-Presenter のようなプレゼンターですか?
そうですか、シェルとの関係は?ShellPresenter は Shell オブジェクトをコンストラクターのパラメーターとして受け取り、すべてのモジュールがビューを適切な領域に配置するようにする責任があることを理解しています。しかし、これを行う RegionManager もあります。
この用語をしばらく使用してきた人からの説明をいただければ幸いです。
prism - Prism (複合アプリケーション ガイドライン) で、TabControl にビューを動的にロードするにはどうすればよいですか?
Prism v2 アプリケーションでは、2 つの領域を定義し、それぞれがタブ コントロール内のタブ項目です。
ブートストラップでは、2 つのモジュールがロードされ、それぞれが各タブ項目にビューを挿入します。
もちろん、私が読み続けているデカップリング マジックを実行し、モジュールの 1 つのコメントを外して、そのタブ項目がまったく表示されないようにしたいと考えています。代わりに、TabItems が 2 つあり、1 つが空です。これは、古い WinForm 時代のように、私のアプリケーションがまだデータと UI を緊密に結合していることを示しています。
では、これを動的にするためにここで何をする必要がありますか?つまり、読み込まれるモジュールに基づいて UI が動的に変化するようにします。つまり、ブートストラップに 10 個のモジュール/ビューを読み込むことができ、TabControl に自動的に 10 個の TabItem が存在するようにしますか?
中間の答え:
TabControl でリージョンを 1 つだけ作成すると、次のようになります。
次に、両方のコントロールを MainRegion にロードします。
次に、2 つのタブを持つ TabControl を取得します。それぞれにビューがあり、これが必要です。
ただし、TabItem ヘッダーは定義されていません。ヘッダーを動的に定義するにはどうすればよいですか (たとえば、XAML ではなく、View クラスで動的に戻します)。
prism - Prism RegionManager に 1 つだけではなく 2 つのビューを追加する方法
複合アプリケーション ガイドライン (バージョン 2、2009 年 2 月) を使用しています。
1 つのリージョン、Bootstrapper、および 2 つのビューを持つ Employee モジュールを使用してシェルを構築しました。どちらも RegionManager をシェルの 1 つのリージョンに追加する必要があります。
ただし、RegionManager に最後に追加されたビューのみがリージョンに表示されます。
両方のビューがシェルの領域に表示されるようにするには、何を変更する必要がありますか?
silverlight - Prism 2 SL : ボタンがクリックされたときにリージョンからビューを削除する
私は Prism を初めて使用し、Prism 2 アプリケーションでビューを非アクティブ化するためのベスト プラクティスを決定しようとしています。ユーザーがビューのボタンをクリックすると、ビューを非アクティブ化します。ボタンがクリックされると、ビューはコマンドを実行しています。
ビュー モデルはコマンドを受信していますが、ビューモデルにはリージョン マネージャーへの参照がありません。
ビュー モデルはリージョン マネージャーについて認識している必要がありますか? また、ビューモデルがそれへの参照を持っていたとしても、それを含む領域の非アクティブ メソッドにビュー インスタンスを渡す必要があります。
アプリに MVVM パターンを使用しています。
wpf - Tabcontrolデータテンプレートのボタンに閉じるコマンドをバインドする際の問題
WPFアプリケーションの構築に複合アプリケーションガイダンスパターンを使用しています。私のシェルには、ビューを領域に動的にロードするための領域を含むタブコントロールがあります。ビューは、TabControlの新しいタブにロードされます。
CloseButtonを実装するためのDataTemplate「TabItemTemplate」があります。DataTemplateのボタンのコマンドをpresentationModelの閉じるコマンドにバインドする方法がわかりません。コマンドをCompositCommandにバインドすると、コマンドが実行されます。ただし、閉じるボタンが押されたタブを特定し、そのPresentationModelでcloseCommandのみを実行する必要があります。以下はdataTemplateです。
誰かがこのバインディングの問題を解決する方法を知っていますか?