@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

【画面遷移の方法について】WPF WEBアプリケーション

1
投稿者投稿内容
Kinsuma
会議室デビュー日: 2009/04/03
投稿数: 3
投稿日時: 2009-04-03 09:34
いつもお世話になっております。

現在、WPFでWEBアプリケーションを作成中で、
複数のButtonを配置した、UserControlを設けました。
※LogOut機能やTopMenuへ遷移する機能を
※システム共通で利用したい為です。

UserControlに配置した、ButtonのClickイベントで
画面遷移する方法をご存知の方いらっしゃいませんか。

UserControlではなく、Pageに配置したButtonからは
 Me.NavigationService.Navigate(遷移先)
のようにして遷移しています。

UserControlより、Pageオブジェクトを取得する?
そもそも、遷移方法が違う?

何かお分かりになる方がいらっしゃいましたら、宜しくお願いします。
jiji
会議室デビュー日: 2009/03/10
投稿数: 16
投稿日時: 2009-04-06 16:43
WPFはフォントの表示が不評なのであまり使ってませんが、
TopMenuへ遷移するのが主要な機能の一つであるUserControlなら、
環境に関わらず、UserControlに(TopMenuへ遷移するボタンを押す?)イベントを追加し
親(Window/Page)で処理するのが素直なやり方の気がします。
Kinsuma
会議室デビュー日: 2009/04/03
投稿数: 3
投稿日時: 2009-04-06 17:49
jijiさん ありがとうございます。

引用:

jijiさんの書き込み (2009-04-06 16:43) より:
環境に関わらず、UserControlに(TopMenuへ遷移するボタンを押す?)イベントを追加し
親(Window/Page)で処理するのが素直なやり方の気がします。



そうですよね。
やはりUserControlにイベントを追加して遷移する方が、素直ですよね。

Pageに配置したButtonからは、遷移できているので
UserControlにも同じように
 Me.NavigationService.Navigate(遷移先) と記述したところ
 ⇒MeがUserControlクラスの為、NavigationServiceがエラーになってしまう。
 ※NavigationServiceがSystem.Windows.Navigationのメソッドだから...

なんとかして、UserControlからPageクラス(Windowsクラス?)を取得出来れば
遷移出来そうなんですが、どこのクラスで保持しているのやら。。。

もう少し探してみたいと思います。
Kinsuma
会議室デビュー日: 2009/04/03
投稿数: 3
投稿日時: 2009-04-09 09:19
【解決?】

なんとか遷移出来るようになりました。
ソースは下記の通りです。

 Dim mNavi As NavigationWindow
 mNavi = Application.Current.Windows(0)
 mNavi.Navigate(遷移先)

とりあえずは、この方法でやってみたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)