使用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. 代码部分没有错
开发人员技术 Windows Presentation Foundation
开发人员技术 .NET 其他
开发人员技术 VB
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,676 信誉分 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 个其他答案

排序依据: 非常有帮助

你的答案

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