如何在 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 类型处理程序。