Silverlight - 通过C#加载XAML文件(就像在WinForms时代一样) - 如何?

时间:2009-06-03 21:13:03

标签: c# silverlight xaml

所以我是来自WinForms背景的新手,我可以实例化一个UserControl或这样的表格:

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

所以在SL中,我创建了一个简单的Page.xaml和第二个名为Page2.xaml的xaml文件 - 我在Page.xaml文件中删除了一个按钮,在该按钮的click事件中,我尝试添加以下内容来调用第二个xaml文件:

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

如何调用XAML UserControls?

5 个答案:

答案 0 :(得分:1)

为了导航到完全不同的silverlight页面,您需要一个“容器”用户控件,其中包含您的主页面。从那里你可以像这样设置你的内部UserControl:

insideControl = new Page2();

了解更多信息: http://silverlight.net/learn/learnvideo.aspx?video=56933

答案 1 :(得分:1)

您可以使用ChildWindow.Xaml并在Mainpage.xaml中创建子控件的实例

ChildWindow chw = new ChildWindow();
chw.show();

答案 2 :(得分:0)

我相信Silverlight您实际需要做的是导航到一个单独的页面。

这是一个网络平台,因此Navigate是winforms的网络形式。 show()方法。

答案 3 :(得分:0)

XamlReader课程已经完全为此目的而开发。使用其Load或Parse方法将返回由Xaml生成的对象。

答案 4 :(得分:0)

您必须创建一个UserControl.xaml,它是来自page.xaml和page2.xaml的容器

此容器的网格为x:Name =“miGrid” :

<网格x:名称=“miGrid”/>

在您加载此控件的子控件后,在这种情况下用户控件的实例frm2 ..

miGrid.Childrens.Clear(); miGrid.Childrens.Add(FRM2);