根据用户交互动态加载XAML布局

时间:2013-04-07 22:25:00

标签: windows-phone-7 windows-phone-8 windows-phone

美好的一天,我对Windows手机很新,所以请耐心等待。我需要根据用户选择的内容加载XAML布局。例如,如果我有4个XAML布局A,B,C,D,当用户选择C时,应加载相应的XAML布局,如果稍后选择A,则应该出现。我可以创建不同的XAML布局并使用OnNavigateTo方法,但我认为它不是非常有效。有没有办法,我可以将XAML Layouts组合在一起,以便它可以轻松地在它们之间切换?我听说过使用模板,但是无法找到任何具体的工作原理示例。任何帮助或链接将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:1)

据我了解,您不需要使用模板。由于有四种不同的操作,它们有四种不同的视图,因此每个操作都有一个单独的页面应该没有问题。

问题也可能是这样 - 布局有多么不同?如果数据是唯一改变它们的东西,您可能会想到要绑定视图模型并简单地更改可绑定源。

底线:只使用页面或绑定到动态数据的单个页面,具体取决于您的方案。

答案 1 :(得分:1)

据我所知,我要求您更喜欢UI中的UserControls实现。您可以将A,B,C和D布局作为单独的UserControls,并将这些UserControl放在同一页面中。只需根据在后面的代码中识别它的条件来更改可见性。我认为这对你有帮助。

答案 2 :(得分:0)

您可以通过多种方式解决此问题。如果您不打算在同一页面上加载布局,请为每个视图创建4个单独的页面并导航到正确的页面。

如果您需要更新当前视图,可以选择以下选项之一:   - 将所有四个布局放入每个自己的网格中,并为每个布局设置Visibility="Collapsed"。然后,当您需要显示布局时,只需将其可见性更改为True即可。   - 与上面相同,但使用Visual States添加一些动画。   - 创建4个用户控件并动态创建所需的控件并将其添加到当前页面。

您需要考虑以下几个因素:   - 清洁代码和清洁设计。   - 动画和过渡。   - 返回键怎么样?如果用户在完成后应该导航回选择屏幕,请考虑导航到单独的页面。

不要忘记最后一点,在选择正确的解决方案时可能至关重要。