none
官方Sample里Page映射到Frame中 RRS feed

  • 问题

  • 我在看一个官方Sample 网址:http://code.msdn.microsoft.com/Toast-notifications-sample-52eeba29

    在MainPage中定义了一个List的Frame(左边),一个Description的Frame(右边)。

    我发现工程里ScenarioInput1-6(Page类)对应的是Description,然后我在MainPage中设置了几个断点想要看清楚运行时是如何加载这几个控件的,可是却看不懂,求解这些控件都是如何加载的?我也想试试这样编程

    【话说ScenarioInput只能是Page类吗?可不可以换成UserControl类?】

    2014年7月25日 2:50

答案

  • 你可以先看看App.xaml中对MainPage页的初始化操作,然后再MainPage的页面加载事件中通过这段代码

    ScenarioList.Navigate(Type.GetType(_rootNamespace + ".ScenarioList"), this); 找到命名空间下的ScenarioList.xaml,在此页面下有个Scenarios_SelectionChanged事件,主要选择操作都在这里导航;

        rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioInput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.InputFrame, Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioOutput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.OutputFrame);通过索引来切换到不同的ScenarioInput1-6页面;

    当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!

    2014年7月25日 6:44

全部回复

  • 你可以先看看App.xaml中对MainPage页的初始化操作,然后再MainPage的页面加载事件中通过这段代码

    ScenarioList.Navigate(Type.GetType(_rootNamespace + ".ScenarioList"), this); 找到命名空间下的ScenarioList.xaml,在此页面下有个Scenarios_SelectionChanged事件,主要选择操作都在这里导航;

        rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioInput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.InputFrame, Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioOutput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.OutputFrame);通过索引来切换到不同的ScenarioInput1-6页面;

    当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!

    2014年7月25日 6:44
  • 你可以先看看App.xaml中对MainPage页的初始化操作,然后再MainPage的页面加载事件中通过这段代码

    ScenarioList.Navigate(Type.GetType(_rootNamespace + ".ScenarioList"), this); 找到命名空间下的ScenarioList.xaml,在此页面下有个Scenarios_SelectionChanged事件,主要选择操作都在这里导航;

        rootPage.DoNavigation(Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioInput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.InputFrame, Type.GetType(typeof(ScenarioList).Namespace + "." + "ScenarioOutput" + ((Scenarios.SelectedIndex + 1).ToString())), rootPage.OutputFrame);通过索引来切换到不同的ScenarioInput1-6页面;

    当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!

    我已经大概看懂了,感谢~
    2014年7月25日 7:41