从WP7中的类库函数中调用UI屏幕

本文关键字:调用 UI 库函数 屏幕 类库 WP7 | 更新日期: 2023-09-27 18:03:05

我最近开始开发Windows 7应用程序,我被下面描述的问题卡住了。任何帮助都是非常感谢的!

我正在写一个WP7类库函数,它将从Windows手机应用程序调用。我希望能够在从类库函数调用函数之后向用户显示一个新的屏幕。我还希望此屏幕与应用程序UI的其余部分正确集成。例如,单击UI屏幕上的后退按钮,应该会将我带到调用之前存在的UI屏幕。

这个WP7类库必须作为编译库与windows phone应用程序链接。因此,记住这一点,我有以下两个问题。

1)它甚至是可能的,启动一个UI屏幕从一个类库在Windows phone 7?如果不是,我还能做什么?

2)是否有可能将此屏幕与上述应用程序UI流的其余部分集成?

从WP7中的类库函数中调用UI屏幕

显然,您可以在库中包含XAML页面。要做到这一点,必须包含。pdb文件,该文件与库类的.dll一起生成。复制.dll。pdb文件到您的项目中,并添加对.dll.

的引用。

1)是的。如果你曾经编程过Win32,那么我理解你的担忧。在dll中处理UI有点问题。

首先到类选择:

Popup类可用于重叠当前屏幕内容。它的基本缺点是没有硬件加速,因此不适合复杂的屏幕或动画。

更好的解决方案可能是将PhoneApplicationPage存储在库(程序集)中。结果与在应用程序程序集中定义该页相同。本文描述如何导航到另一个程序集。

当你导航到另一个页面(顺便存储在另一个程序集中)时,没有共享的UI上下文,如Win32中的主应用程序窗口。页面本身是完全独立的。第一页的URI写在清单文件中。(xap文件的一部分。)应用程序决定何时转到另一个页面。与浏览器相同。

从技术角度看:

您的类库生成程序集(dll)。这个dll包含a)代码(类似于旧的好的Win32 dll), b) Xaml(在你的库中使用的Xaml代码的精确副本)。它与主程序集相同。

当您添加对类库的引用时,该dll将被添加到xap文件中,即添加到安装程序中。转到bin文件夹并查看xap文件。这是微不足道的,因为它只是一个zip文件