在设计时,我遇到了几个虚假错误,似乎是由于WPF无法在不实际运行它们的情况下估计事物的值所导致的。当然,在运行时这个问题可以完美解决。
问题是如何消除这些错误?
以下是一个例子:
在一个类中,我有以下两个内容:
以下转换器完美运行:
然而,下面的代码(虽然非常相似)却会产生“Object reference not set to an instance of an object.”错误,这意味着如果不将StaticResource定义注释掉,在设计时我只能看到一个大错误。
如果我将HubbCostOfferPage.IsEC替换为HubbCostOfferPage.IsHubb,所有内容都正常工作,所以我知道问题就在这里。
如果我在转换器中将HubbCostOfferPage.IsEC替换为!HubbCostOfferPage.IsHubb,我会遇到同样的问题。设计师似乎因为无法在设计时计算"!"而抱怨。
有什么办法让这个在设计时也能正常工作吗?
以下是一个例子:
在一个类中,我有以下两个内容:
public static bool IsHubb {get; set;}
public static bool IsEC { get { return !IsHubb; } }
以下转换器完美运行:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (HubbCostOfferPage.IsHubb && HubbCostOfferPage.CarObj.TestApprovedDate == null)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
然而,下面的代码(虽然非常相似)却会产生“Object reference not set to an instance of an object.”错误,这意味着如果不将StaticResource定义注释掉,在设计时我只能看到一个大错误。
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (HubbCostOfferPage.IsEC == true && HubbCostOfferPage.CarObj.TestApprovedDate == null)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
如果我将HubbCostOfferPage.IsEC替换为HubbCostOfferPage.IsHubb,所有内容都正常工作,所以我知道问题就在这里。
如果我在转换器中将HubbCostOfferPage.IsEC替换为!HubbCostOfferPage.IsHubb,我会遇到同样的问题。设计师似乎因为无法在设计时计算"!"而抱怨。
有什么办法让这个在设计时也能正常工作吗?