Nullreferenceexception MaskedTextBox扩展Wpf工具包

Nullreferenceexception MaskedTextBox扩展Wpf工具包,nullreferenceexception,mask,maskedtextbox,Nullreferenceexception,Mask,Maskedtextbox,我对来自扩展Wpf工具包的MaskedTextBox有一个问题。因此,当我使用它而不是TextBox时,会出现一个错误-Null引用异常。然后我寻找原因,终于找到了。当我将MaskedTextBox与Mask属性一起使用时 <xctk:MaskedTextBox Name="txtMessage" Value="{Binding Message, UpdateSourceTrigger=PropertyChanged}" IncludeLiteralsI

我对来自扩展Wpf工具包的MaskedTextBox有一个问题。因此,当我使用它而不是TextBox时,会出现一个错误-Null引用异常。然后我寻找原因,终于找到了。当我将MaskedTextBox与Mask属性一起使用时

<xctk:MaskedTextBox
      Name="txtMessage"
      Value="{Binding Message, UpdateSourceTrigger=PropertyChanged}"
      IncludeLiteralsInValue="False"
      Mask="(000)000-00-00"
      TextBoxBase.TextChanged="txtMessage_TextChanged" 
      ValueDataType="{x:Type s:String}">

editModel
null
。但是当我删除
Mask
属性时,一切都正常。你能帮我一下吗。

问题是
MaskedTextBox
Mask
属性绑定到
TextBox
Text
属性。因此,当Xaml页面生成时,应用程序尝试将
掩码
属性绑定到
消息
,但此时未创建
视图模型
,因此发生了“NullReferenceException”。
解决方案是,在声明
视图模型后,必须将
MaskedTextBox
Mask
属性设置为不在Xaml中。
editModel=新的EditViewModel();
DataContext=editModel;

txtMessage.Mask=“(000)00-000-00-00”

问题是
MaskedTextBox
Mask
属性绑定到
TextBox
Text
属性。因此,当Xaml页面生成时,应用程序尝试将
掩码
属性绑定到
消息
,但此时未创建
视图模型
,因此发生了“NullReferenceException”。
解决方案是,在声明
视图模型后,必须将
MaskedTextBox
Mask
属性设置为不在Xaml中。
editModel=新的EditViewModel();
DataContext=editModel;
txtMessage.Mask=“(000)00-000-00-00”

  editModel = new EditViewModel();
  DataContext = editModel;