gpt4 book ai didi

C# 预处理器 - 为 XAML 设计器禁用代码

转载 作者:太空狗 更新时间:2023-10-29 23:26:15 25 4
gpt4 key购买 nike

不幸的是,我发现有时我正在编写的代码虽然在运行时非常好,但在 Visual Studio 2010 中使用 XAML/Designer 时却让我头疼。我最喜欢的示例包括多个用于调试的 MessageBoxes,但是,当前示例是构造函数中非常简单的单例样式条件,这意味着当我想对 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; }
}
}

最佳答案

您可以使用 DesignerProperties.GetIsInDesignMode方法,像这样:

if (!DesignerProperties.GetIsInDesignMode(this) && _instance != null)
throw new NotSupportedException(...)

关于C# 预处理器 - 为 XAML 设计器禁用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6072740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com