前面的内容,我们用简单的方法就创建了一个手写板示例,下面,我们再来做一个更为复杂一点的手写板程序。示例程序有两个选项:选择“书写”可以进行手写输入,选择“擦除”,可以去掉不必要的部分,类似橡皮擦的功能。
并且,还可以选择笔触颜色。
首先就是放一个InkCanvas控件,相信都没问题,很简单。
接着定义两个类,分别用来保存笔尖颜色的自定义类和集合。
切换到XAML视图,把MyColors作为静态资源嵌入到窗体的资源列表中。
并定义一个数据模板,用于在ListBox中显示的项。
声明两个RadioButton元素,用于选择手写输入状态。以及一个ListBox控件,数据源就是我们刚才定义的MyColors类。
为了能让ListBox中的项水平排列,我们要自定义项的面板。
为两个单选按钮编写事件处理程序。
修改InkCanvas的EditingMode属性,可以控制其编辑状态,如接收墨迹,或擦除墨迹。
最后,编写ListBox的事件处理程序,以动态修改笔触的颜色。