【问题标题】:Rendering User Control in Windws Phone 7在 Windows Phone 7 中呈现用户控制
【发布时间】:2011-11-30 13:52:42
【问题描述】:

我是 Windows Phone 7 的新手

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

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

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

抱歉,我对这款 Windows Phone 很陌生。

【问题讨论】:

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


    【解决方案1】:

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

    <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。

    【讨论】:

      【解决方案2】:

      您可以通过将用户控件作为child 添加到容器Grid 来简单地更改用户控件。

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

      或删除,

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-12
        • 2012-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多