2012-03-08 14 views
1

WP7では、NavigationServiceを使用して新しいページに簡単にナビゲートできます。Wp7でUriを介してユーザーコントロールをロードすることは可能ですか

例: _navigationService.Navigate(新しいUri( "/ View/SamplePage.xaml"、UriKind.Relative));

Uriを介してユーザーコントロールを読み込むことは可能ですか?

例えば、 UserControl sampleControl = MagicLoadFunction(新しいUri( "/ Controls/SampleControl.xaml"、UriKind.Relative))

答えて

2

control/xamlファイルにxamlしかなく、コードがない場合、ファイルをテキストとしてロードしてからXamlReader.Loadを呼び出すことができます。

また、コントロールのタイプを知っていれば、インスタンスを新規作成するだけで、Uriを介してロードする必要はありません。型は既にコンパイルされています。

または、表示されるXAMLを変更できるようにするための何らかの方法がある場合は、テンプレートを使用するか、ContentPresenterにしてコンテンツを動的に設定してください。

1

いいえ、フレームワークではページに移動することしかできません。なぜあなたはユーザーコントロールに移動したいのですか?このコントロールをページ内にホストするだけで済みます。

<phone:PhoneApplicationPage 
    ... 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:local="clr-namespace:YourNameSpaceHere"> 
    <Grid x:Name="LayoutRoot"> 
     <local:SampleControl/> 
    </Grid> 
</phone:PhoneApplicationPage> 

次に、ユーザーコントロールではなくページに直接移動します。

+0

私はあなたが実際にUserControlにナビゲートできると思いますが(それは偶然見つけました)、それは私がしたいことではありません。私は、URIを使ってビューのインスタンスを新しくしたい。 –

関連する問題