Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在“之间切换”;“第页”;Silverlight应用程序的安全性?_Silverlight_Xaml - Fatal编程技术网

如何在“之间切换”;“第页”;Silverlight应用程序的安全性?

如何在“之间切换”;“第页”;Silverlight应用程序的安全性?,silverlight,xaml,Silverlight,Xaml,我当前正在加载默认文件page.xaml,但在该页面中,我正在从另一个xaml文件加载内容。每次“页面”更改后,我只需从不同的xaml文件加载内容,然后继续 示例:this.Content=newstartPage() 但是,由于我更改内容的方式,我遇到了一些语法问题,我想知道是否有一个关于如何实现这一点的明确答案 例如,在尝试捕获用户的击键时,我通常会执行以下操作: this.Keydown+=新的KeyEventHandler(this_Keydown) 但在我的情况下,那个事件处理程序甚至

我当前正在加载默认文件page.xaml,但在该页面中,我正在从另一个xaml文件加载内容。每次“页面”更改后,我只需从不同的xaml文件加载内容,然后继续

示例:this.Content=newstartPage()

但是,由于我更改内容的方式,我遇到了一些语法问题,我想知道是否有一个关于如何实现这一点的明确答案

例如,在尝试捕获用户的击键时,我通常会执行以下操作:

this.Keydown+=新的KeyEventHandler(this_Keydown)


但在我的情况下,那个事件处理程序甚至不会启动。因此,在重新讨论击键问题之前,我正在寻找一种新的内容切换方法。

您是否看过Silverlight 3的使用方法。它有一个新的页面导航功能。

就内容切换而言,我一直按照你在问题中提出的建议做。通常我创建一个MainPage.xaml,它具有应用程序的框架(通常是我的网格)。网格中的一个单元格被视为应用程序的内容区域。当用户采取一种我认为是导航的动作时,我创建一个页面的新实例,对于我来说,它是一个像MyUserControl.xaml这样的文件,然后将它添加到网格中的适当内容单元中。主页将在应用程序的整个生命周期中一直存在,并协助导航


如果您想要更时尚的东西,并且希望利用基于浏览器的后退/前进按钮,您可以像Correl建议的那样查看SL3导航。

您所做的一个大问题是,当您通过创建框架元素并将其插入代码隐藏来交换框架元素时,日志记录不会自动发生。这意味着您将失去浏览器的后退和前进功能。当你调出页面时,你可以手动记录一些东西,但这只是一个让你的导航方法正常工作的方法

请访问www.compositewpf.codeplex.com/了解Prism,特别是GUI设计的MVVM方法,它将为您节省大量时间。记住,当你看MVVM的时候,你不需要去硬核,如果你是一个人的乐队,你总是可以删掉很多“动态”功能

也可以切换到silverlight 3并使用导航应用程序。如果你不能,看看,它将提供一个更面向asp的导航方法。该链接提供了一个非常好的起点,它是一篇由三部分组成的文章,我建议您阅读所有三部分,下载示例应用程序并理解它


可以就您的问题编写一本书,现在就足够了。

您可以考虑为按键问题创建一个单独的问题-它似乎与导航无关。