我正在使用 Silverlight.FX 创建一个 Silverlight 3.0 MVVM 应用程序,但我的视图实际上使用的是 Silverlight 导航系统,一个页面。按照Nikhil 的示例,我的 View 应该派生自 Silverlight.FX Window 类。
制作一个也支持页面功能的窗口的最佳方法是什么,或者是否有一些东西已经这样做了?
我正在使用 Silverlight.FX 创建一个 Silverlight 3.0 MVVM 应用程序,但我的视图实际上使用的是 Silverlight 导航系统,一个页面。按照Nikhil 的示例,我的 View 应该派生自 Silverlight.FX Window 类。
制作一个也支持页面功能的窗口的最佳方法是什么,或者是否有一些东西已经这样做了?
发现 Silverlight.FX 的 Page 和 PageFrame 类。这些类具有与 Silverlight 导航类型相同的基本功能,但支持我正在寻找的绑定。
xmlns:fxnav="clr-namespace:SilverlightFX.UserInterface.Navigation;assembly=SilverlightFX"
...
<fxnav:PageFrame x:Name="_frame"
IsIntegratedWithBrowser="True"
DefaultUri="StartView"
HorizontalContentAlignment="Stretch"/>
我无法从页面的代码隐藏中获取父容器(与 Silverlight 3.0 页面不同),但是一旦我删除了 Click 处理程序并完全切换到 MVVM,我就不需要它了。
值得一提的是,PageFrame 的默认 PageLoader 组件会自动映射所有可用的页面。无法将 Silverlight 3 中的新 UriMapping 组件与 SilverlightFX 的 PageFrame 一起使用。因此,如果您的页面被命名为 MySilverlightPage.xaml(并且相应的页面类具有相同的名称),它将在“mysilverlight”地址可用。
PS 我决定提一下,因为我第一次尝试使用 SilverlightFX 时并不清楚。