2016-04-29 50 views
2

我的XAML設計器顯示對象引用未設置爲實例錯誤無處不在我使用我的一個轉換器綁定。挖掘了很多之後,我發現它發生在這條特定的路線上,因爲它無法在設計時找到價值。WPF設計器綁定與轉換器拋出對象引用未設置爲對象的實例

TransactionViewModel.getInstance() 

甚至當我嘗試通過檢查,以避免不爲空,但它仍然拋出對象引用錯誤

TransactionViewModel是一個單獨的類'的getInstance()函數來獲得實例。

這是我的轉換函數如下

Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert 
    Dim FieldName As String = value.ToString 
    Dim FieldNum As Integer = Integer.Parse(parameter) 

    If TransactionViewModel.getInstance IsNot Nothing Then 
     If TransactionViewModel.getInstance._NR IsNot Nothing Then 
      If TransactionViewModel.getInstance._NR.ContainsField(FieldNum, FieldName) Then 
       Return Visibility.Visible 
      Else 
       Return Visibility.Hidden 
      End If 
     End If 
    End If 
    Return Visibility.Visible 
End Function 

有什麼建議?

回答

3

請嘗試與此,它可以幫助你

if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
{ 
    //Code that throws the exception 
    //Code that return null 
} 

VB:

If Not System.ComponentModel.DesignerProperties.GetIsInDesignMode(New DependencyObject) Then 
     'Code that throws the ex 
     'Code that return null 
End If 
+1

這個工作; '如果不System.ComponentModel.DesignerProperties.GetIsInDesignMode(新的DependencyObject)代碼,返回null 結束If' 感謝 – Jay

+0

謝謝你,我很高興我已經能夠然後 「拋出的前 代碼」幫助 – suulisin

相關問題