iPhone喜欢WPF项目中的红色徽章通知吗?

我有一个C#WPF项目,它自动生成每日和每周报告。 我想在新的报告可用时告知用户,所以我想到了一个类似iPhone的徽章,其中新消息的数量出现在一个小红圈上: 替代文字http://sofzh.miximages.com/c%23/so3l2u.png

我想到了三张图片:如果要显示的数字很小,左右两个半圆圈的图像。 对于数字很大(123)并且不适合圆圈的情况,中间的第三个图像。 替代文字http://sofzh.miximages.com/c%23/11lr7mp.png

我想要一个有光泽的效果,所以我想到了图片。 有没有人知道如何在没有图片的情况下以编程方式执行此操作?

使用Border元素并将文本放在其中。 您可以适当地为Border设置CornerRadius属性,使其看起来像一个圆(或者如果数字更大,则为圆角矩形)。

这是第一次切割,它利用了CornerRadius分别被夹紧到Y和X的一半高度或宽度的事实:

 125  

我最近有同样的要求,并迅速将这个UserControl敲了一下。 它使用简短的动画来吸引用户对徽章的注意。

看一下“Big Nick’s”博客,看看一些优雅的代码,将这个UserControl应用到另一个UIElement作为Adorner(正是’徽章’!): http : //blog.bignickolson.com/2009/10/15 /覆盖-控制function于WPF与-装饰器/

(谢谢尼克!)

替代文字

           

这是基于Chris1的答案,但是当徽章中的文本长于一位数时,这将正确伸展,我还设置了字体以使其在Windows版本中更加一致,更改了大小以补偿并添加了徽章周围的轮廓。

我也用Rectangle替换了DropShadowEffect,这是因为我不能在我的特定应用程序中使用DropShadowEffect,DropShadowEffect看起来更好但是我的Rectangle阴影足够好,你可以删除阴影矩形并使用DropShadowEffect(如果你愿意)。

             

有很多WPF教程用于光泽按钮。 基本上,创建一个普通按钮并使用效果和渐变的组合将按钮控制模板更改为看起来像iPhone按钮。 这是一个示例,但您可以做更多: http : //craig.palenshus.com/silverlight/silverlight-and-the-content-presenter-in-an-iphone-like-button/

这是我的看法,它并不完美,但它看起来不错。