0

如何在 windows phone 中制作可触摸的通知顶部栏?

我是 C# 和 windows phone 世界的新手。所以我的问题可能有一个简单的解决方法,但我用谷歌搜索了很多,但没有成功。这是我的目的:我在整个应用程序中运行了一个计时器,它每隔一小时请求一次通知信息服务,并在屏幕顶​​部显示一个“通知栏”。获取信息很容易,但是当我想将它们显示到页面时,这是我的问题:

1. 我使用系统托盘来显示我的信息。它可以工作,但后来我发现进度指示栏没有触摸或单击事件。我什至在 App.xaml.cs 中向 Touch.FrameReported 添加了一个事件,但是,当我触摸系统托盘区域时,该事件不会触发。

2. 然后我想用动态的方式来实现它:在当前页面添加一个文本块我得到了当前页面处理程序,但是我只知道当前页面处理程序的类型是PhoneApplicationPage,我无法获取我的Root UI元素(我的所有页面都有一个名为“LayoutRoot”的根元素)当我尝试使用反射方法获取“LayoutRoot”属性时,返回值为null。

代码如下所示:

Type type = PhoneApplicationPageHandler.getType()<
//I checked,the type is my page's type
type.getProperty("LayoutRoot") or type.getField("LayoutRoot")
//they all return null

顺便说一句:LayoutRoot 是一个网格,它在我页面的 .xmal 文件中进行了描述。

现在我的选择是让我的所有页面都继承一个默认页面,在这个页面中,我将实现一个方法来实现我的第二种方式来模拟“可触摸顶栏”。

但我认为这种编码很难看。

所以,谁能告诉我:1.如何将触摸事件添加到 SystemTray 或 2.如何获取 xaml 中描述的 ui 元素的处理程序,而我只有该页面的 PhoneApplicationPage 类型处理程序。

4

1 回答 1

0

您可以使用
1) 此处描述的吐司提示http://windowsphonegeek.com/articles/WP7-Toast-Prompt-in-depth

2) 或此处描述的外壳吐司http://www.c-sharpcorner.com/UploadFile/ ae35ca/working-with-toast-notification-in%C2%A0windows-phone-7/根据最适合您的要求。

3)您还可以创建一个自定义控件,您可以将其放在 mainPage 的顶部并相应地处理其点击事件。

于 2012-08-14T13:10:00.137 回答