积极答复者
xaml文件到xaml文件之间的跳转,难道实现起来真的很难吗???

问题
-
google了半天都是查到xaml文件如何跳转到aspx文件的方法,我先实现两个xaml文件的跳转。
今天请教了一位朋友,他的方法是可行的,有两个xaml文件:
一,child001.xaml
二,child002.xaml
方法很简单,在child001.xaml.cs里写代码 this.Content = new child002(); 就实现了。
可是这个也许会有问题:
一,前一个xaml页面未释放掉,会不会如果跳转很多的话,很占内存呀。
目前还不知道怎么释放掉前一个xaml。
二,如果两个xaml里的UserControl尺寸不同,会出现问题,如果001、002反复跳转的话
可视界面会越来越小。
————————————————————————————————————————
另外一个朋友告诉我另外一个办法,例如有三个xaml文件:
一,parentXaml.xaml
二,child001.xaml
三,child002.xaml
在parentXaml.xaml先加载child001.xaml,都是基于parentXaml.xaml。
可是他说跳转代码只能在parentXaml.xaml.cs文件里。
也就是说无法把跳转代码放在child001.xaml.cs(有高人知道怎么把跳转代码放在child001.xaml.cs里吗)
这个方法虽然不耗费内存,但不能达到效果。
————————————————————————————————————
有朋友知道其他跳转方式吗,或者是讨论下前两种跳转方法,十分感谢
视别人的帮助为恩赐~
答案
-
google了半天都是查到xaml文件如何跳转到aspx文件的方法,我先实现两个xaml文件的跳转。
今天请教了一位朋友,他的方法是可行的,有两个xaml文件:
一,child001.xaml
二,child002.xaml
方法很简单,在child001.xaml.cs里写代码 this.Content = new child002(); 就实现了。
可是这个也许会有问题:
一,前一个xaml页面未释放掉,会不会如果跳转很多的话,很占内存呀。
目前还不知道怎么释放掉前一个xaml。
二,如果两个xaml里的UserControl尺寸不同,会出现问题,如果001、002反复跳转的话
可视界面会越来越小。
————————————————————————————————————————
另外一个朋友告诉我另外一个办法,例如有三个xaml文件:
一,parentXaml.xaml
二,child001.xaml
三,child002.xaml
在parentXaml.xaml先加载child001.xaml,都是基于parentXaml.xaml。
可是他说跳转代码只能在parentXaml.xaml.cs文件里。
也就是说无法把跳转代码放在child001.xaml.cs(有高人知道怎么把跳转代码放在child001.xaml.cs里吗)
这个方法虽然不耗费内存,但不能达到效果。
————————————————————————————————————
有朋友知道其他跳转方式吗,或者是讨论下前两种跳转方法,十分感谢
视别人的帮助为恩赐~
另外,如果你想在浏览器上的XAML导航,可以直接使用Silverlight3的XAML导航特性,呵呵My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com
My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com
- 已标记为答案 woodynet 2009年5月14日 1:48
全部回复
-
XAML页面都是通过Applicatioin实例的RootVisual属性来指定的,我们在当前的XAML页的逻辑代码中虽然也可以引用Application实例,但是如果当前页是通过 RootVisual=new child002() 的形式来指定给Silverlight插件的,你就不可能在当前XAML页面逻辑上通过改变RootVisual属性值的方式来把当前页替换为其他XAML页。
变通的办法是在App档的Application的startup事件handler中把一个可以作容器用的XAML对象指定给RootVisual,那么我们就可以在当前的那个XAML页面的逻辑中通过改变作为XAML页容器的那个XAML对象的子对象的方式来把其他XAML页来替换掉当前XAML页。My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com
My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com
-
google了半天都是查到xaml文件如何跳转到aspx文件的方法,我先实现两个xaml文件的跳转。
今天请教了一位朋友,他的方法是可行的,有两个xaml文件:
一,child001.xaml
二,child002.xaml
方法很简单,在child001.xaml.cs里写代码 this.Content = new child002(); 就实现了。
可是这个也许会有问题:
一,前一个xaml页面未释放掉,会不会如果跳转很多的话,很占内存呀。
目前还不知道怎么释放掉前一个xaml。
二,如果两个xaml里的UserControl尺寸不同,会出现问题,如果001、002反复跳转的话
可视界面会越来越小。
————————————————————————————————————————
另外一个朋友告诉我另外一个办法,例如有三个xaml文件:
一,parentXaml.xaml
二,child001.xaml
三,child002.xaml
在parentXaml.xaml先加载child001.xaml,都是基于parentXaml.xaml。
可是他说跳转代码只能在parentXaml.xaml.cs文件里。
也就是说无法把跳转代码放在child001.xaml.cs(有高人知道怎么把跳转代码放在child001.xaml.cs里吗)
这个方法虽然不耗费内存,但不能达到效果。
————————————————————————————————————
有朋友知道其他跳转方式吗,或者是讨论下前两种跳转方法,十分感谢
视别人的帮助为恩赐~
另外,如果你想在浏览器上的XAML导航,可以直接使用Silverlight3的XAML导航特性,呵呵My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com
My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com
- 已标记为答案 woodynet 2009年5月14日 1:48