2009-06-03 12 views
1

だから私は、私は、ユーザーコントロールをインスタンス化したり、このように形成することができるのWinForms背景から来るSLに新たなんだ:Silverlight - C#経由でXAMLファイルをロードする(WinFormsの日のように) - どのように?

MyForm frm = new MyForm(); 
frm.ShowDialog(); 

のでSLで、私はシンプルPage.xamlをし、ページ2と呼ばれる第二のXAMLファイルを作成

private void btnLoad_Click(object sender, RoutedEventArgs e) 
{ 
    Page2 frm2 = new Page2(); 
    frm2. // ?? don't know what write here ?? 
} 

がどのように私はXAMLのユーザーコントロールを呼び出すことができます - の.xaml私はそのボタンのクリックイベントPage.xamlをファイルにし、内ボタンを落とし、私は第二のXAMLファイルを呼び出すために、次の追加しようとしましたか?

答えて

0

私はあなたが実際にやるべきことは銀色であると信じています。別のページに移動します。

これはWebプラットフォームなので、NavigateはWebフォームのwinformsです。 show()メソッド。

1

完全に異なるシルバーライトページに移動するには、その内部にメインページを持つ「コンテナ」ユーザーコントロールが必要です。そこから、あなたはそうのようなあなたの内部ユーザーコントロールを設定することができます。

insideControl = new Page2(); 

の詳細については: http://silverlight.net/learn/learnvideo.aspx?video=56933

+0

グレートMainPage.xamlを中に子コントロールのインスタンスを作成し、私は次のようでしたし、私のフォームをロードすることができました; しかし、私が探しているものではありません。私はPage2()が "サブフォーム"、つまりモーダルフォームのようなものとして登場したいと思います。これどうやってするの? –

+0

ポップアップコントロールを使用できます。 –

0

XamlReaderクラスは、まさにその目的のために開発されました。 LoadメソッドまたはParseメソッドを使用すると、Xamlによって生成されたオブジェクトが返されます。あなたはこのコンテナは、xとグリッドを持ってPage.xamlをしてpage2.xaml

からteheコンテナであるUserControl.xamlを作成する必要が

0

:名前は= "miGrid" :

<グリッドのx :名=「miGrid」/>

あなたは、この場合のFRM2 ..

miGrid.Childrens.Clear()で、このコントロールの子供でユーザーコントロールのインスタンスをロードした後、 miGrid.Childrens.Add(frm2); )( this.Content =新しいページ2:

1

あなたはChildWindow.Xamlを使用することができますし、

ChildWindow chw = new ChildWindow(); 
chw.show(); 
関連する問題