gpt4 book ai didi

c# - 阻止Visual Studio在设计时显示实时设备数据吗?

转载 作者:行者123 更新时间:2023-12-03 10:45:30 26 4
gpt4 key购买 nike

我正在开发WPF应用,该应用显示来自加速度计的不断更新的值(X,Y,Z)。当我使用XAML修改窗口,甚至只是在设计器中查看它时,它就会显示实时数据流,它们就像程序正在运行一样不断更新。或者更确切地说,因为程序正在运行(以某种方式-我不知道如何)。

如此令人讨厌,它导致了以下问题。然后,当我真正运行程序时,我会从设备中获得所有零。似乎Visual Studio正在使用数据,并且不会让它进入我的窗口。为了使其停止,我必须

1. activate a different file in the editor (or just close the .xaml file), then
2. close and reopen visual studio.

有没有更好的方法来阻止Visual Studio执行此操作?

编辑
根据SLaKs提供的答案,我添加了以下内容:

我现在按照建议检查DesignerProperties.GetIsInDesignMode(this)的值,​​但是现在出现了另一个问题。我的MainWindow构造函数现在如下所示:
  public MainWindow()
{
InitializeComponent();

var dc = this.TopGrid.DataContext as RawAccelStream_ViewModel;
if (DesignerProperties.GetIsInDesignMode(this) == false)
base.Background = Brushes.Bisque;
else
{
base.Background = Brushes.Blue;
dc.Dispose();
}
}

新问题是使用此代码,在运行应用程序时,窗口背景显示为Bisque,但在Designer View中根本没有发生颜色更改。而且Designer View仍然显示值,并且仍然破坏了窗口的应用程序实例。

最佳答案

当您在设计器中打开使用控件的XAML文件时,设计器将创建该控件的实际实例。

您应该修改控件以检查它是否正在设计器中运行,并显示虚假数据或其他内容。

检查DesignerProperties.GetIsInDesignMode(this)

关于c# - 阻止Visual Studio在设计时显示实时设备数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26746317/

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