【问题标题】:How to make a touchable notice top bar in windows phone?如何在 windows phone 中制作可触摸的通知顶部栏?
【发布时间】:2012-08-13 05:06:35
【问题描述】:

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

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

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

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

代码如下所示:

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

【问题讨论】:

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


【解决方案1】:

您可以使用
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)您还可以创建一个自定义控件,您可以将其放置在您的主页顶部并相应地处理其点击事件。

【讨论】:

  • 谢谢,我使用 messageBox 来完成。很丑,现在正在看你说的那篇文章。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多