如何在Windows手机中制作可触摸通知顶栏?

时间:2012-08-13 05:06:36

标签: c# windows-phone-7 reflection system-tray

如何在Windows手机中制作可触摸通知顶栏?

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

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

2 然后我想使用动态方式来实现它:添加一个文本块 当前页面     我得到了当前页面处理程序,但是我只知道当前页面 handler的类型是PhoneApplicationPage,我无法获取我的Root UI元素 (我的所有页面都有一个名为“LayoutRoot”的根元素)     当我尝试使用reflect方法获取“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

BTW:LayoutRoot是一个网格,它在我的页面的.xmal文件中描述。

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

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

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

1 个答案:

答案 0 :(得分: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)您也可以创建一个自定义控件,您可以将其置于主页的顶部并相应地处理其点击事件。