К сожалению, я обнаружил, что иногда код, который я пишу, хотя и прекрасно работает во время выполнения, вызывает головную боль при работе с XAML / Designer в Visual Studio 2010. Однако мои любимые примеры включают в себя несколько MessageBox для отладки.текущий пример - это очень легкое условие в стиле Singleton в конструкторе, которое означает, что мне нужно пересобрать решение, когда я хочу внести изменения в экземпляр в XAML.
Есть ли директива препроцессора, которую я могуиспользовать для пропуска кода в конструкторе XAML?
Пример:
public class CustomFE : FrameworkElement
{
public CustomFE()
{
#if !XAMLDesigner // Or something similar
if (_instance != null)
throw new NotSupportedException("Multiple instances not supported");
#endif
_instance = this;
}
private static CustomFE _instance = null;
public static CustomFE Instance
{
get { return _instance; }
}
}