質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MVVM

MVVM(Model View ViewModel)は構築上のデザインパターンで、表現ロジック(ViewModel)によってデータ(Model)からページ(View)を分離させます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

5178閲覧

WPF Prismを利用した画面遷移時の例外エラーの補足について

mikupedia

総合スコア159

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MVVM

MVVM(Model View ViewModel)は構築上のデザインパターンで、表現ロジック(ViewModel)によってデータ(Model)からページ(View)を分離させます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

1クリップ

投稿2016/12/02 10:03

###前提・実現したいこと
現在制作中のアプリケーションでは例外エラーを一括で補足して処理するようにしています。
・DispatcherUnhandledException
・AppDomain.CurrentDomain.UnhandledException

Prismを利用してRegionManager.RequestNavigateで画面遷移を行っていますが
その際、INavigationAwareインターフェイスを実装したViewModelで画面遷移させたときに
画面から離れるときに呼び出されるOnNavigatedFromメソッドで例外エラーを発生させても
上記アプリケーションイベントで例外を補足することができません。

何か設定を行えばアプリケーションイベントで例外を補足することはできるのでしょうか?
それとも、補足することができないのでしょうか?

###該当のソースコード
Public Sub OnNavigatedFrom(navigationContext As NavigationContext) Implements INavigationAware.OnNavigatedFrom
Throw New NotImplementedException()
End Sub

###補足情報(言語/FW/ツール等のバージョンなど)
VisualStudio2015 Community(VB)
.NetFramework 4.6.1
Windows7(x64)
PrismCore v6.2.0
PrismWpf v6.2.0
PrismUnity v6.2.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己レスです。
EventAggregatorでShellに例外エラーを通知してThrowすればよさそうです。
いちいちTry-Catchして例外エラーを通知するのは若干手間ですが・・・
stackoverflowを参考にしました。
http://stackoverflow.com/questions/13405326/prism-module-level-exception-handling

別案
RequestNavigateのNavigationCallBackで例外エラーをスローさせると
Applicationへ例外が渡るようです。

VB

1RegionManager.RequestNavigate("MainRegion", NextView, AddressOf NavigationCompleted, param)

VB

1Private Sub NavigationCompleted(navigationResult As NavigationResult) 2 If Not navigationResult.Result Then 3 Throw navigationResult.Error 4 End If 5End Sub

投稿2016/12/11 15:36

編集2017/01/30 07:41
mikupedia

総合スコア159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問