2016-04-29 46 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

相关问题