使用VB.NET编写WPF程序时,无法创建任何事件处理程序

Edit_Win8 20 信誉分
2024-09-08T08:32:11.6633333+00:00

我在使用vb.net创建wpf应用程序时,无法为控件添加事件处理程序。例如创建一个button,无论是双击它还是手动添加,在生成时总会报错:BC30456 “Button_Click”不是“MainWindow”的成员

补充信息:

  1. mainwindow的命名空间没搞错
  2. 同样的操作在C#里是可以正确创建事件处理程序的
  3. 我已经尝试修复vs了
  4. 代码部分没有错
.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
54 个问题
Windows Presentation Foundation
Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
126 个问题
VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
73 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,511 信誉分 Microsoft 供应商
    2024-09-09T07:18:21.3833333+00:00

    你好,对于问题“<name>”不是“<classname>”的成员你可以尝试下面的检查步骤.

    XAML 中事件的关联错误: 确保 XAML 文件中为 Button 控件正确地指定了事件处理程序。例如:

       <Button Name="Button1" Content="Click Me" Click="Button_Click"/>
    

    请检查 Click="Button_Click" 中的名称是否正确无误。

    命名空间或类名错误:确保 MainWindow 类是你代码中的主窗口类,没有拼写错误或其他类干扰。

    编译器或 IDE 缓存问题: 有时,Visual Studio 的缓存可能会导致这种奇怪的行为。尝试以下步骤:

    • 清理解决方案并重新生成项目 (Build > Clean Solution,然后 Build > Rebuild Solution)。
    • 删除 binobj 文件夹,然后重新生成解决方案。
    • 重启 Visual Studio,并确保所有的 NuGet 包和引用都是最新的。

    查看是否可以成功在代码中手动实现事件处理程序,如下所示:

    
    Public Class MainWindow
        Public Sub New()
            InitializeComponent()
            AddHandler Button1.Click, AddressOf Button_Click
        End Sub
    
        Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
            ' 处理代码
        End Sub
    End Class
    
    
    

    如果问题仍然存在,请确认你是否有任何其他代码或配置可能干扰了 MainWindow 类的正确工作。可以尝试创建一个新的 WPF 项目,并在新的项目中添加按钮和事件处理程序,看看是否仍然出现相同的问题。你也可以参考“<name>”不是“<classname>”的成员

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    1 个人认为此答案很有帮助。

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。