Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight-通过C#加载XAML文件(就像在WinForms时代一样)-如何加载?_C#_Silverlight_Xaml - Fatal编程技术网

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

Silverlight-通过C#加载XAML文件(就像在WinForms时代一样)-如何加载?,c#,silverlight,xaml,C#,Silverlight,Xaml,所以我是来自WinForms背景的SL新手,在这里我可以实例化一个UserControl或表单,如下所示: MyForm frm = new MyForm(); frm.ShowDialog(); 因此,在SL中,我创建了一个简单的Page.xaml和第二个名为Page2.xaml的xaml文件-我在Page.xaml文件中删除了一个按钮,在该按钮的单击事件中,我尝试添加以下内容以调用第二个xaml文件: private void btnLoad_Click(object sender, Ro

所以我是来自WinForms背景的SL新手,在这里我可以实例化一个UserControl或表单,如下所示:

MyForm frm = new MyForm();
frm.ShowDialog();
因此,在SL中,我创建了一个简单的Page.xaml和第二个名为Page2.xaml的xaml文件-我在Page.xaml文件中删除了一个按钮,在该按钮的单击事件中,我尝试添加以下内容以调用第二个xaml文件:

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

如何调用XAML UserControls?

我相信silverlight,您实际需要做的是导航到单独的页面


它是一个web平台,所以Navigate是winforms的web形式。show()方法。

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

insideControl = new Page2();
有关更多信息:
这门课正是为此而开发的。使用其加载或解析方法将返回Xaml生成的对象。

您必须创建一个UserControl.Xaml,它是page.Xaml和page2.Xaml中的容器

此容器有一个带有x:Name=“miGrid”的网格 :

加载此控件的子控件后,本例中的用户控件实例frm2

米格里德。儿童。清除();
miGrid.Childrens.Add(frm2)

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

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

很好,我完成了以下操作并能够加载我的表单:this.Content=new Page2();但不完全是我要找的。我希望Page2()以“子表单”的形式出现,也就是说,有点像模态表单。我怎么做?你可以使用弹出控件。