问题标签 [eventsetter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
118 浏览

wpf - 在当前上下文中触发模板子事件?

有没有办法在当前上下文(即页面、窗口、用户控件等)中从 DataTemplate 中的视觉对象触发事件。

例如,我有一个包含按钮或列表框的 DataTemplate。我希望当单击按钮或在 ListBox 中触发 ListBox.SelectionChanged 时,应在包含使用此 DataTemplate 的 ControlControl 的页面上声明事件处理程序。

有任何想法吗?

0 投票
1 回答
6142 浏览

wpf - 如何使用带有窗口样式的 EventSetter?

我已经设计了一个窗口来替换标准 Chrome,我想使用 EventSetters 处理激活和停用事件。我收到一个错误“...'Activated' 必须是已注册的 RoutedEvent...”:

但是,这在相同的样式中效果很好。

有人遇到过这个或知道发生了什么吗?

编辑:

...

编辑:

这似乎涵盖了它。

在 Loaded 事件中定义:

因为这是一种样式的代码,所以我需要一个实例引用,即 Win。我不知道这是否是实现这一目标的最佳方法,但是......

编辑1:

或者,IsActive 的触发器在 xaml 中处理它。

0 投票
2 回答
14201 浏览

wpf - WPF:使用按钮作为DataTemplate,如何添加点击事件

我有一个带有对象集合的 ItemsControl。我无法单击该对象,然后获取包含更多信息的面板。

所以我决定将 ItemsControl 中项目的 DataTemplate 设置为按钮,这似乎工作正常。但是我不知道如何在样式中设置此按钮的单击事件。它说我应该使用 EventSetter 但我无法让它工作。

这是代码:

决定通过单击按钮添加我想要完成的内容:

CompanyClick 在后面的代码中定义。

0 投票
1 回答
7097 浏览

.net - 将命令分配给 EventSetter

如何在EventSetter中给Handler分配一个命令,我想这样写:

0 投票
1 回答
2275 浏览

wpf - 如何在 WPF 的 App.xaml 文件中创建 EventSetter?

我希望我的应用程序中的每个 TextBox 在用户关注它时都选择它的所有文本。为此,我将以下内容放入我的 App.xaml 文件中:

以及 App.xaml.cs 文件中的以下代码:

但是,当 TextBox 聚焦在我的应用程序中时,永远不会调用该方法。我认为这是因为我没有将处理程序方法放在正确的位置,但我不知道那会在哪里。有任何想法吗?

0 投票
1 回答
5456 浏览

wpf - 使用 DataTrigger 动态设置事件处理程序

我有几个项目控件,只有在满足特定条件时,我才需要为其 PreviewMouseLeftButtonDown 事件附加一个事件处理程序。

我用数据触发器为我的控件设计了一种样式,我检查了它的绑定并使用BorderThickness 属性的常规属性设置器进行了尝试,只是为了查看数据触发器是否有效。(它确实..)

当使用事件设置器以与常规属性设置器相同的方式满足数据触发器的条件时,如何应用我的数据触发器来附加事件处理程序?

类似于:

此标记在 eventsetter 行上引发以下异常:

内部异常:

0 投票
1 回答
6588 浏览

c# - 如何通过代码添加事件设置器

一个完整的例子

但是当我运行应用程序时,出现异常:处理程序类型无效

这段代码有什么问题?

0 投票
1 回答
1128 浏览

wpf - WPF Treeview Style EventSetter 不起作用

你好,我的事件设置器有问题。
我的窗口:

我的 CrefoChartTreeViewItemStyle.xaml

编译时收到错误消息:

我做错了什么?

有没有其他方法可以触发树视图中的这个按钮?所以我可以把代码放在后面?

0 投票
1 回答
1517 浏览

wpf - Theme ResourceDictionary 中的 EventSetters

MSDN 在事件设置器上说:

事件设置器不能用于主题资源字典中包含的样式。这是因为主题资源字典在运行时通常是松散的二进制 XAML (BAML) 文件,并且没有定义任何范围,其中定义处理程序的随附代码隐藏可以存在。

对此 SO question 的第一个答案证实了这一点,其中指出:

资源 xaml 不能有代码隐藏文件,它们通常称为“松散 xaml”。您可以在有关 EventSetter 的 msdn 中阅读相关内容。

但是,我还不了解事件设置器的限制。我尝试使用资源字典的代码隐藏文件。我已经为包含在模板中的控件的事件分配了一个事件处理程序,该模板在所述资源字典的样式中定义 - 它起作用了。

另一方面,将事件设置器添加到同一资源字典中的样式会导致异常。

我遇到了一个特殊的情况,它碰巧起作用了吗?

或者在模板中设置事件处理程序总是有效,但如果是这样,那么为什么我不能在同一资源字典中的样式中使用事件设置器?

我的问题归结为:

MSDN 声明主题资源字典通常是松散的二进制 XAML 究竟是什么意思——在什么情况下多久一次?

0 投票
1 回答
743 浏览

wpf - 您可以将事件设置器绑定到数据上下文的事件吗?

我试图创造这样的东西 -

在此处输入图像描述

我有一个可观察的点集合。每个点都有一个位置和颜色。当任何点的位置或颜色发生变化(它们实现通知更改)时,我想“重新绘制”背景渐变。目前我有一个项目控件,其中我将滑块绑定到点位置,并且最初绘制了渐变。现在,我想知道当“点”上的 propertychanged 事件触发时,如何在视图后面的代码中调用函数,以便重新绘制渐变。我想知道是否可以以某种方式使用事件设置器?

虽然我可以在后面的代码中订阅 propertychanged 事件,但我想在 XAML 中进行吗?

请注意:出于其他原因,我特别想采用这种在代码中手动重绘的方法,所以如果我能得到上述具体问题的答案,而不是替代解决方案,请。