Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF:防止卸载&;RDP(dis)连接后加载_Wpf_Rdp - Fatal编程技术网

WPF:防止卸载&;RDP(dis)连接后加载

WPF:防止卸载&;RDP(dis)连接后加载,wpf,rdp,Wpf,Rdp,当我的WPF应用程序打开,并且我打开一个连接到我的PC的远程桌面时,WPF将重新加载应用程序(主控件上的卸载和加载事件将被触发)。 当我断开连接时,这种情况再次发生 我知道UI必须重新绘制,但为什么要重新加载控件?这能预防吗?或者有没有一种方法可以检测RDP(dis)连接是否触发了重新加载?我不知道为什么会发生这种情况,但通过本页的一些代码:我想您可以理解如果(Un)已加载由远程桌面触发。我可以通过在第一次执行时取消订阅已加载事件并将Denit代码从已卸载事件移动到退出事件来修复应用程序的问题。

当我的WPF应用程序打开,并且我打开一个连接到我的PC的远程桌面时,WPF将重新加载应用程序(主控件上的卸载和加载事件将被触发)。 当我断开连接时,这种情况再次发生


我知道UI必须重新绘制,但为什么要重新加载控件?这能预防吗?或者有没有一种方法可以检测RDP(dis)连接是否触发了重新加载?

我不知道为什么会发生这种情况,但通过本页的一些代码:我想您可以理解如果(Un)已加载由远程桌面触发。

我可以通过在第一次执行时取消订阅已加载事件并将Denit代码从已卸载事件移动到退出事件来修复应用程序的问题。

重新加载的是哪种控件?请提供更多细节。相关(不是重复):。我希望实现您的解决方案,但我遇到了几个问题:我的主控件的构造函数总是被调用。独立于加载的事件。如何正确地取消订阅“加载”事件。你是说加载的事件吗?(出现在构造函数调用之后)订阅加载的事件,并在处理程序中取消订阅。感谢您的回复,我已经在我的windows和控件本身上尝试过了。问题是加载的事件是在我的控件的构造函数调用之后调用的。因此,控件本身被重建,从而导致无效行为。在我的构造函数中,如果我只初始化了一次(以避免刷新),并且没有调用InitializeComponent()方法,则控件不会呈现,并且显示为黑色元素InitializeComponent应该保留在构造函数中。我移动到加载的事件处理程序的是自定义初始化。