在Windows Phone 7中呈现用户控件

时间:2011-11-30 13:52:43

标签: c# xaml windows-phone-7 user-controls

我是Windows Phone 7的新手

我想在以下代码中寻求您的帮助:

  1. 我正在开发和有多个页面的应用程序。现在我想使用一些用户控件将它放入单个页面。例如,我的主页面将在网格中具有公司徽标,而第二个网格将为空。第二个网格应显示UserControl,我将要求用户登录,登录后我想为某些列表框显示另一个UserControl。麻烦的是我没有得到如何在页面中显示和更改用户控件?就像asp.net MVC中的部分页面一样。

  2. 每次更改用户控件时都会执行任何函数,例如asp.net MVC具有“OnActionExecuting”。我们可以创建一个UserControl作为BaseUserControl并从中继承每个UserControl ......是否可能????

  3. 对不起,我对这款Windows手机很新。

2 个答案:

答案 0 :(得分:1)

您只需将用户控件child添加到容器Grid即可更改用户控件。

MyUserControl myusercontrol = new MyUserControl();
mygrid.Children.Add(myusercontrol);

或删除,

mygrid.Children.RemoveAt(0); //if you have just one child control.

答案 1 :(得分:1)

我会尝试给你一些提示和代码来管理你的问题。 第一。可以做你想做的所有事情;)。 如果您只想使用一个页面(可能不是最佳实践),您可以从代码中更改您的Ui。如果MainGrid中有Page,MainGrid和两个Grids。您可以使用x:name属性访问每个网格,您已在xaml中设置。 例如:

<Grid x:name="MainGrid">
  <Grid x:Name="LogoGrid"/>
  <Grid x:Name="ContentGrid"/>
</Grid>

您可以在此处添加userControl,如下所示:

var control = new CustomUserControl();
ContentGrid.Children.Clear(); //maybe delete old Children
ContentGrid.Children.Add(control);

处理事件也很容易。只需将它构建到UserControl中,就​​像LoginButton一样,并在ButtonClick之后用新的UserControl替换旧的UserControl。