【问题标题】:WPF C# Button Event Handler Not WorkingWPF C# 按钮事件处理程序不工作
【发布时间】:2016-08-01 23:59:40
【问题描述】:

我在获取按钮和事件处理程序时遇到问题。我正在使用 Visual Studio 2015。我的代码和错误如下:

XAML:

<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApplication1" mc:Ignorable="d" Title="MainWindow" Height="500" Width="983.334">
.
.
.
    <Button x:Name="Button1" Content="Database" HorizontalAlignment="Left" 
            Margin="10,427,0,0" VerticalAlignment="Top" Width="99" 
            Click="Button1_Click"/>

后面的代码:

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Test");
        }
    }
}

错误: CS1061“MainWindow”不包含“Button1_Click”的定义,并且找不到接受“MainWindow”类型的第一个参数的扩展方法“Button1_Click”(您是否缺少 using 指令或程序集引用?)

每当我添加一个按钮并单击事件处理程序部分时,我都会看到:文档项没有代码隐藏文件。在添加事件处理程序之前添加代码隐藏文件和类定义。

任何帮助将不胜感激。

【问题讨论】:

  • 您能从您的 XAML 文件中发布开头的 &lt;Window&gt; 元素和属性吗?
  • &lt;Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApplication1" mc:Ignorable="d" Title="MainWindow" Height="500" Width="983.334"&gt;
  • 谢谢,通常通过editing 它来解决您的问题。我已经为你做到了:)
  • 很抱歉,这里很新。边走边学。感谢您的帮助。
  • 没问题的好先生 :)

标签: c# wpf


【解决方案1】:

它适用于以下 XAML

<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApplication1" mc:Ignorable="d" Title="MainWindow" Height="500" Width="983.334">
    <Button x:Name="Button1" Content="Database" HorizontalAlignment="Left" 
        Margin="10,427,0,0" VerticalAlignment="Top" Width="99" Click="Button1_Click"/>
</Window>

以及文件后面的代码

    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Test");
        }
    }

这正是你所拥有的。 您是否尝试过重建解决方案?

【讨论】:

  • 是的,我已经尝试过多次重建它并搜索了类似的问题,但没有运气。
  • @CausedByMonkey 以防万一发生了奇怪的事情,也许可以使用向导创建一个新项目并重复你所做的?
  • 好吧,我在一个新的 Visual Studio 实例中复制了确切的代码,它工作正常。不知道为什么。
【解决方案2】:

听起来好像事件未在页面中注册,请单击您的按钮并检查事件选项卡以查看它是否已注册...检查此图像: https://postimg.org/image/5q6nvac7b/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多