积极答复者
官方Sample里Page映射到Frame中

问题
-
我在看一个官方Sample 网址:http://code.msdn.microsoft.com/Toast-notifications-sample-52eeba29
在MainPage中定义了一个List的Frame(左边),一个Description的Frame(右边)。
我发现工程里ScenarioInput1-6(Page类)对应的是Description,然后我在MainPage中设置了几个断点想要看清楚运行时是如何加载这几个控件的,可是却看不懂,求解这些控件都是如何加载的?我也想试试这样编程
【话说ScenarioInput只能是Page类吗?可不可以换成UserControl类?】
答案
-
你可以先看看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页面;
当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!
- 已标记为答案 ZetianChiang 2014年7月25日 7:41
全部回复
-
你可以先看看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页面;
当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!
- 已标记为答案 ZetianChiang 2014年7月25日 7:41
-
你可以先看看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页面;
当然,你也可以做用户控件,但是最终控件还是要在页面里承载的,希望对你有帮助吧!