App.xaml 的 EventSetter 上出现错误 CS1061

2023-12-08

我试图通过我的代码创建一个元素并为其关联一个样式,还关联其 EventSetter,该样式工作完美,但当我尝试运行该函数时它不起作用。

App.xaml

<Application x:Class="Learning.App"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     xmlns:local="clr-namespace:Learning">
<Application.Resources>
    <Style TargetType="Label" x:Key="LabelTituloEstiloPadrao">
    <Setter Property="Background" Value="White" />
    <Setter Property="HorizontalAlignment" Value="Left" />
    <Setter Property="Margin" Value="40,20,0,0" />

<EventSetter Event="MouseLeftButtonUp" Handler="lbl_MouseLeftButtonUp"/>
<EventSetter Event="MouseRightButtonUp" Handler="lbl_MouseRightButtonUp"/>

    </Style>    
    </ResourceDictionary>
</Application.Resources>
</Application>

MainWindow.xaml.cs

public ViewConfigAgendaDin()
        {
            InitializeComponent();
            ConfigInicial();

            Label l = new Label();
            lblTeste.Style = (Style)App.Current.Resources["LabelTituloEstiloPadrao"];

            StackHorarios.Children.Add(l);
        }

        private void lbl_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
        {
            MessageBox.Show("Right");
        }

        public void lbl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            MessageBox.Show("Left");
        }

构建应用程序时,EventSetter 中会触发两个错误

错误 CS1061“应用程序”不包含以下设置 “lbl_MouseLeftButtonUp”并且找不到任何“lbl_MouseLeftButtonUp” 接受类型“App”的第一个参数的扩展方法(是否有 缺少使用指令或程序集引用?)

对于正确的事件也会发生同样的错误,我该如何在我使用它的类中实现这两种方法而不出现问题?


一般来说,你会得到错误CS1061当无法从 XAML 访问方法时。

最常见的情况是:

  • 事件处理程序未在代码隐藏中声明
  • XAML's x:Class标签与类的实际名称不匹配
  • 方法名称不匹配Handler事件设置者
  • 处理程序方法签名不正确
  • using a private方法中的base类而不是protected
  • 在极少数情况下需要重新启动 Visual Studio

查看XAML代码,你的类名是Learning.App

<Application x:Class="Learning.App"

但是声明事件处理程序的代码是ViewConfigAgendaDin

public class ViewConfigAgendaDin

您不能将事件处理程序放在任何地方并期望编译器自行找到它们。因为处理程序用于App.XAML, 你需要将事件处理程序移至App.xaml.cs一切顺利。

如果您需要他们在ViewConfigAgendaDin类,要么定义Style in ViewConfigAgendaDin.xaml或者调用一个方法ViewConfigAgendaDin.xaml.cs from App.xaml.cs

Edit:

例如:

ViewConfigAgendaDin.xaml:

<ViewConfigAgendaDin 
    xmlns:v="clr-namespace:MY_NAMESPACE">
...
    <Label Tag="{Binding RelativeSource={RelativeSource AncestorType={x:Type v:ViewConfigAgendaDin}}}" 
           Style="{StaticResource LabelTituloEstiloPadrao}"/>
...
</ViewConfigAgendaDin>

ViewConfigAgendaDin.xaml.cs:

public void MyMethodForRightClick(object sender, MouseButtonEventArgs e)
{
    MessageBox.Show("Right");
}

应用程序.xaml.cs:

private void lbl_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
    ((sender as Label).Tag as ViewConfigAgendaDin).MyMethodForRightClick(sender, e);
}

处理这种情况的另一种方法是完全避免代码隐藏。相反,利用MVVM and Command捆绑。您可以使用以下命令轻松地将任何事件绑定到命令互动

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

App.xaml 的 EventSetter 上出现错误 CS1061 的相关文章

随机推荐

  • 为什么它与 ~~any() 的作用不同?

    首先让我向您展示我的表格 INSERT INTO my table name brand source VALUES Abc Abc Orig Auchan Auchan Orig Auchan Auchan Added dj auchan
  • 动态更新 gtk.VBox

    我经常使用这个网站来解决我在 Python 编程时遇到的小问题 这次 不知怎的 我找不到适合我情况的解决方案 所以 这是我的问题 我想动态添加条目到 gtk VBox 小部件 问题是它没有按照我想要的方式工作 我只有一个按钮 其操作是将附加
  • 如何在 Xamarin Forms 编辑器中设置占位符和占位符颜色

    如何设置占位符文本 and 占位符颜色 in Editor in Xamarin 表单 它没有默认的功能或属性 如何自定义它 参考文档 Xamarin 表单编辑器 为此 您将需要一个自定义渲染器 这是 Android 自定义渲染器 您将需要
  • res.write 无法正常工作。它显示包含 HTML 标签的输出

    我正在使用 API 和 Express 制作一个简单的 Web 应用程序 但我得到的输出与预期不同 我的输出包含文本 包括HTML tags 这是我的代码 const express require express const https
  • Access + VBA + SQL - 如何使用表中的条件将多个查询导出到一个 Excel 工作簿中,同时导出多个工作表

    我需要一些帮助才能将多个查询导出到一个 Excel 工作簿中 但是 多个工作表吗 使用 MS Access VBA 中的表中的条件 附件是供参考的数据库 表名称 Tbl Final 下面列出的列 System User ID 用户类型 St
  • 如何更新 git clone --mirror?

    我创建了一个 git 存储库来镜像实时站点 这是一个非裸 git 存储库 git clone mirror ssh email protected path to repo 现在 为了使此镜像克隆更新其远程源的所有更改 我必须使用哪个或哪些
  • 当从外部分配值时,更改事件不适用于文本框

    我有一个文本框和一个按钮 当我单击该按钮时 它会在文本框中设置特定值 我想每当文本框的值发生更改时提交页面 请检查here HTML
  • .NET 3.5 运行时和 .NET 4 运行时兼容性

    是否可以使用 NET 4 构建的插件运行基于 NET 3 5 构建的应用程序 您将需要重建 不完全正确 请检查更新 NET 3 5 应用程序以定位 NET 4 0 因为默认情况下它将在 NET 2 0 运行时启动 而该运行时将不支持该插件
  • 当我检查特定分支是否已提交时,为什么我的提交后挂钩条件语句不起作用?

    我通过 Windows 服务器上的 VisualSVN Server 运行 Subvbersion 并设置了一个主干和三个分支的存储库 分支是开发 测试和生产 我有一个提交后钩子 我想运行它在提交运行后更新工作副本 但我只希望它在提交是在开
  • Facebook iOS SDK 3.0 - 在 FBFriendPickerViewController 中保存并重新加载 .selection

    FBFriendPickerViewController 看起来非常简单 但是 它可能不适合我想要的场景 本质上 我想将用户选择的朋友列表保存到磁盘 在随后的应用程序启动时 我想将 FBFriendPickerViewController
  • 使用nodejs以块的形式发送数据

    我对 Nodejs 很陌生 正在开发 Angular 4 应用程序的后端 问题是后端生成响应的全部数据的速度相当慢 我想在数据可用时立即发送数据 我正在阅读有关 RxJS 的内容 但我真的不知道如何在节点中使用它 你能帮助我吗 也许您正在寻
  • 机器特定的 HttpWebResponse 超时

    我有一个非常奇怪的机器特定问题 在某些机器上 下面的代码可以工作 而在其他机器上 它会冻结 直到 GetResponse 调用引发超时异常 string url https myserver myimage png System Net S
  • 如何根据两列查找值(列值不唯一)

    这是我的数据 File1 Name School Age Weight Jack St John 15 Jack St Mary 14 Jack St Michael 12 Mary St John 16 Mary St Mary 12 M
  • 在闪亮的应用程序中使用bigrquery auth

    我想创建一个闪亮的应用程序 它利用 bigrquery 连接到 BigQuery API 并运行查询 我使用以下代码来执行查询 library bigrquery project lt PROJECT ID put your project
  • Google Sheet SUMIF 不是求和范围

    我试图根据行值大于 0 的条件对所有行求和 但是 该公式仅计算第一行并忽略范围的其余部分 我在另一个电子表格上遇到了这个问题 但我在一个新电子表格上隔离了这个问题 以便向您展示并提出问题 答案应该是 B1 5 美元 B2 15 美元 B3
  • 捕获 PyQt 中的任何异常

    我在 PyQt 中创建了一个 GUI 应用程序 我想与很多人分享 有时我会遇到意想不到的异常 并且我认为这是理所当然的 在每次异常之后我都会改进我的代码 并且它会变得越来越好 我使用记录器来记录这些异常 并使用 PyQt 静默异常的特殊钩子
  • 无法通过 Flutter 中的 API 调用呈现 DropdownMenu 中的数据

    我正在尝试在我的项目中创建一个下拉菜单 其中需要在列表中显示的数据源自 API 调用 其响应如下所示 但是 我收到以下错误消息 并且我不知道如何解决此问题 There should be exactly one item with Drop
  • 将 CString 转换为 CTime

    In 智能设备MFC应用 我已成功转换CTime to CString 现在我想把它转换回来 CString to CTime 我怎样才能做到这一点 Use COleDateTime ParseDateTime CString 然后将其转换
  • PrimeFaces 数据表滚动条位于所需位置

    当我添加新记录 在默认可视区域之外 并更新数据表时 我有一个包含 100 多条记录的可滚动数据表 数据表从记录 0 加载 而我需要前一个位置的数据表视图 我的数据表代码
  • App.xaml 的 EventSetter 上出现错误 CS1061

    我试图通过我的代码创建一个元素并为其关联一个样式 还关联其 EventSetter 该样式工作完美 但当我尝试运行该函数时它不起作用 App xaml