2016-03-13 115 views
0

我有MaskedTextBox中的問題,即來自擴展WPF工具包。所以,當我使用它而不是TextBox時有一個錯誤 - 空引用異常。然後我搜尋了原因並最終找到了它。當我使用MaskedTextBox中與mask屬性MaskedTextBox中擴展WPF工具

<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}"> 

它會導致Null Reference Exception因爲UserControlDataContextnull,但我不知道爲什麼,對的UserControlConstructor有這樣的事情:

editModel = new EditViewModel(); 
    DataContext = editModel; 

而且editModelnull。但是當我刪除Mask屬性一切工作正常。你能幫我嗎?

回答

0

的問題是的MaskedTextBoxMask物業結合的TextBox一個Text性質。因此,當頁面的XAML生成,應用程序嘗試綁定Mask屬性設置爲Message,但在這一刻ViewModel沒有創建,因此出現「NullReferenceException異常」。
解決方案是您必須將MaskedTextBoxMask屬性設置爲不在Xaml中,並且在聲明ViewModel之後。
editModel = new EditViewModel(); DataContext = editModel; txtMessage.Mask = "(000)00-000-00-00";