c# - 为什么我的 C# 事件在没有运行应用程序的情况下在 XAML (WPF) 上触发?

标签 c# wpf visual-studio events

在用 C# 编写 WPF 应用程序时遇到了一个非常神秘的错误。

我在自定义用户控件中有一个事件,每次更改按钮上的文本时都会显示一个消息框。当我在 XAML 中编辑按钮上的文本时,事件会触发 - 即使我的应用程序没有实际运行。

当我尝试在事件中打开一个新的 WPF 窗口时,应用程序因“Stackoverflow”而崩溃 - 此后,VS (C# Express) 也崩溃了,直到我更改事件后我才能够打开我的项目并删除了我的 Debug 和 Release 文件夹中的所有内容。

为什么会触发这个事件?

最佳答案

用户控件在 Visual Studio 中运行。

基本上,Visual Studio 加载包含控件的程序集并执行控件。

这意味着如果您的控件针对在设计时执行的某个事件显示消息框,那么该消息框也将显示在 Visual Studio 中。

要解决此问题,请确保您的控件在托管在 Visual Studio 中时不会执行有害代码或类似代码。

关于c# - 为什么我的 C# 事件在没有运行应用程序的情况下在 XAML (WPF) 上触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429230/

相关文章:

c# - Visual Studio 调试器 - 是我的问题还是这个调试器本身充满了错误?

c# - 替换 Visual Studio 中的所有属性

c# - 为什么我应该使用 methodinvoker 而不是声明一个 void 方法并调用它?

c# - 为什么我们需要私有(private)构造函数?

c# - Web API JSON 属性长度限制?

c# - 更改自定义 WPF ComboBox 的背景

wpf - 强制布局更新

c# - XmlSerializer:保留未知元素

JavaScript 代码在 WPF WebBrowser 加载的 HTML 页面中不起作用

visual-studio - Visual Studio 的 Windows iOS 模拟器无法启动,卡在 Xamarin 或 MAUI 的连接循环中