かるあ のメモ

アクセスカウンタ

zoom RSS NavigationFrameworkで違うアセンブリに含まれるページに移動する

<<   作成日時 : 2010/03/29 00:05   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 2 / トラックバック 0 / コメント 0

グローバルサミットぐらいに調べてから寝かしてたらすっかり漬かっていたので、とりあえず引っ張りだしてみる。

本当は違うアセンブリ(dll)を動的に読み込んで、そのアセンブリに含まれるページに移動させようと思ったんだけれど、どうも単にアセンブリを読み込んで移動するだけではだめらしい。とりあえず前段として他のアセンブリに移動するためにはこんな風に記述する。


<StackPanel>
  <HyperlinkButton NavigateUri="/DynamicAssembry;component/Page1.xaml" Content="違うアセンブリ"/>
</StackPanel></pre>StackPanel


で、まぁマッピングをしておくとすっきりするかな。

<navigation:Frame x:Name="ContentFrame" Source="/Home">
  <navigation:Frame.UriMapper>
   <uriMapper:UriMapper>
    <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
    <uriMapper:UriMapping Uri="/{assemblyName};component/{path}" MappedUri="/{assemblyName};component/{path}" />
    <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
   </uriMapper:UriMapper>
  </navigation:Frame.UriMapper>
</navigation:Frame>


こんな風になる。

<HyperlinkButton NavigateUri="/DynamicAssembry;Page1.xaml" Content="違うアセンブリ" />


C#とかから遷移する場合もHyperLinkButtonと同じように使える。ページマッピングが定義されている場合にそっちをゆうせんするのも同じ。

DLLを動的に読み込んでって出来るのかな。単なるメソッドのコールは問題ないんだけれどページに移動すると、ページがないとかって怒られるんだよね。XAPにしてから読み込むとうまくいくっぽいから、DLLのマニフェストとかそのあたりだと思うんですけれど。。。

あっ、こっちはえいごだけれど絵つきで分かりやすいかも。
http://www.davidpoll.com/?p=88

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 2
なるほど(納得、参考になった、ヘー)
かわいい

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
URL(任意)
本 文
NavigationFrameworkで違うアセンブリに含まれるページに移動する かるあ のメモ/BIGLOBEウェブリブログ
文字サイズ:       閉じる