MVVM模式下 所有控件共享同一事件 以TextBox只能输入数字键和回车键为例子

本文以MVVM模式为例,探讨如何实现所有控件共享同一事件,具体通过TextBox控件只允许输入数字键和回车键的限制进行说明,涉及到MvvmLight库中ViewModel的封装和XAML的Binding应用。
摘要由CSDN通过智能技术生成

一:首先对MvvmLight里的ViewModel进行封装    封装完毕后让ViewModel继承DialogViewModel

  public class DialogViewModel : ViewModelBase
    {

        public void PreviewKeyDownEvent(object sender,KeyEventArgs e)
        {
            TextBox text = sender as TextBox;
            if (e.Key > Key.D9 || e.Key > Key.NumPad9 && e.Key != Key.Enter || e.Key == Key.Space)
            {
                e.Handled = true;
            }
        }

    }

二:在xmal里面进行Binding

<UserControl
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    	xmlns:vm="clr-namespace:YunSuo.MonitorSystem.ViewModel"
	xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
    	xmlns:ei="http://schemas.microsoft.c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值