确定 WPF 执行模式:设计时与运行时
您是否正在开发 WPF 应用程序并需要一种方法来区分设计时(例如,设计时) ,在 Visual Studio 或 Blend 中)和运行时执行?如果是这样,你并不孤单。幸运的是,WPF 提供了可靠的解决方案。
识别设计时模式
WPF 提供了一个名为 DesignerProperties.GetIsInDesignMode() 的属性,该属性采用 DependencyObject 作为其参数。通过利用此属性,您可以确定代码是否在设计模式下执行。
// 'this' represents your UI element DesignerProperties.GetIsInDesignMode(this);
以 Silverlight 或 WP7 为目标时,备用属性 DesignerProperties.IsInDesignTool 更合适,因为 GetIsInDesignMode 有时可能会产生 false Visual Studio 中的积极因素。
DesignerProperties.IsInDesignTool
对于 WinRT、Metro 和 Windows 应用商店应用程序,等效项是Windows.ApplicationModel.DesignMode.DesignModeEnabled:
Windows.ApplicationModel.DesignMode.DesignModeEnabled
示例场景
您提到需要在 ViewModel 中区分设计时和运行时以显示根据当前模式模拟客户数据或实时数据。
通过在您的应用程序中利用 GetIsInDesignMode() GetAll 属性,您可以根据执行环境在两个数据源之间无缝切换。
public ObservableCollection<Customer> GetAll { get { try { if (DesignerProperties.GetIsInDesignMode(this)) { return CustomerDesign.GetAll; } else { return Customer.GetAll; } } catch (Exception ex) { throw new Exception(ex.Message); } } }
这种方法提供了一种方便灵活的方式来根据应用程序的执行上下文来管理数据。
以上是如何确定我的 WPF 应用程序是在设计模式还是运行时运行?的详细内容。更多信息请关注PHP中文网其他相关文章!