自定义元素开发:从文本框到面板的深入实践
1. 带掩码文本框的优化
带掩码文本框(MaskedTextBox)在编辑时较为直观,用户可在文本框任意位置删除或插入字符,还能忽略可选字符或插入空格。但当前代码存在一些问题,如剪切或粘贴文本时会破坏掩码,且掩码不会保存直到下一次按键;通过编程方式设置 Text 属性也可能提交不符合掩码的值。
1.1 解决剪切和粘贴问题
最简单的方法是禁用剪切和粘贴功能,可通过添加新的命令绑定来覆盖类命令绑定并将命令标记为已处理。示例代码如下:
public MaskedTextBox() : base()
{
CommandBinding commandBinding1 = new CommandBinding(
ApplicationCommands.Paste, null, SuppressCommand);
this.CommandBindings.Add(commandBinding1);
CommandBinding commandBinding2 = new CommandBinding(
ApplicationCommands.Cut, null, SuppressCommand);
this.CommandBindings.Add(commandBinding2);
}
private void SuppressCommand(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = f
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



