是否可以从C#代码编辑MainPage.xaml?

时间:2014-02-25 10:21:20

标签: xaml windows-phone-8 unity3d

在我需要的情况下改变这个

<DrawinSurfaceBackgroundGridgx:Name="DrawingSurfaceBackground"Loaded="DrawingSurfaceBackground_Loaded">
</DrawingSurfaceBackgroundGrid>

到这个

<Grid>
<phone:WebBrowser Name="MiniBrowser" Visibility="Collapsed"/>
<!--LayoutRoot is the root grid where all page content is placed-->
<DrawingSurfaceBackgroundGridx:Name="DrawingSurfaceBackground"Loaded=
    "DrawingSurfaceBackground_Loaded">
    </DrawingSurfaceBackgroundGrid>
</Grid>

当unity3d构建默认项目时,有一个默认的MainPage。我还需要在我的unity3d插件中添加一个webbrowser组件。然后我需要调用浏览器导航并订阅一些浏览器事件,如loadCompleted可能吗?请给我一个例子

1 个答案:

答案 0 :(得分:2)

您可以以编程方式添加/删除项目。如果你可以访问MainPage类,你可以访问它的内容,即网格,以及它的子节点,它是一个实现IList的UIElementCollection。

IList有一个insert方法,允许你在一个指定的索引处插入一个元素,在你的case 0中,这里是一个完整的例子:

MainPage mainPage = new MainPage();
var miniBrowser = new WebBrowser
{
    Visibility = Visibility.Collapsed;      
};
mainPage.Content.Children.Insert(0, miniBrowser);

我没有为WebBrowser类添加名称,因为它以编程方式添加它确实没有区别(Name属性在设计时使用(xaml在设计时和运行时解析[在InitializeComponent方法中] ])在部分类(MainPage.igcs / MainPage.g.cs)中生成属性。)

你掌握MainPage的方式通常来自Application.Current.Content(Application.Current将包含一个内容为MainPage的Frame)。