一、背景介绍
首先,让我们看一下iPhone上的新邮件提示效果。
在邮件图标的右上角会出现未读的新邮件数量,苹果的这种设计即简洁又精致,而且相当的实用。
那么经典的效果当然要用我们的实际行动来膜拜!^_^
二、最终效果预览
在该篇文章的最后分享了代码,^_^。
三、实现分解
结构采用自定义按钮+自定义装饰件(Adorner)。
装饰件顾名思义就是用来作装饰用的,好处就是:我们以前都是自己写个控件然后在控件上绘制所有的效果,
而现在有了它,我们可以将一些效果独立出来做成一种装饰件,重用在其他想使用该效果的控件上,增强了
效果的解耦和重用。
1、自定义按钮(PromptableButton)
接下来我们编写一个继承自Button类的PromptableButton。
internal class PromptableButton : Button {
//省略...
}
该按钮需要一个提示数量(PromptCount)属性用于最终的右上角提示显示用,做成依赖属性是为了绑定给用作显示的XAML代码。
CoercePromptCountCallback用于限制PromptCount不能小于0。
public int PromptCount {