问题标签 [propertychanged]

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 回答
1326 浏览

silverlight - Silverlight PropertyChanged 事件未在双向文本框绑定中触发

如果类属性双向绑定到文本框的文本属性,当我更改文本框中的文本时,是否应该触发该类的“PropertyChanged”事件?在我的情况下不是 - 当我更改文本框内容时,消息框永远不会弹出。但是,如果属性更改文本框更改,则绑定有效,反之亦然。

编辑:现在我意识到它会触发,但只有在文本框失去焦点时才会触发。我想这种行为背后一定有原因。

代码:

xml:

0 投票
1 回答
666 浏览

wpf - 使用 Rhino 模拟和数据绑定的 InvalidOperationException

我正在为一个类(例如名为ClassUnderTest)编写一些单元测试,该类具有与其模型中的属性绑定的属性。由于模型是使用接口 ( IModel) 定义的,因此模型由 Rhino Mocks 模拟来模拟。

示例代码:

模型接口:

应测试的类:

单元测试方法:

运行测试方法,一切正常。在模型模拟上引发属性更改事件也会引发 ClassUnderTest 类的更改。

我现在遇到的问题仅在调试模式下观察到。在测试结束时,我得到一个 InvalidOperationException:

据我了解,这是因为绑定通过在测试结束时处理所有对象来引发取消订阅,但模拟已经处于验证状态并且不再允许任何交互。

所以在这里我的问题:有没有办法避免这个异常或取消订阅。或者我以不正确的方式使用 Rhino Mocks?

感谢您的帮助

0 投票
1 回答
38 浏览

javascript - 如何检测 IE 上的类更改

我在更改类后对某些元素进行了单击操作,我需要检测到这一刻并做一些事情。对于我使用的 IE 以外的其他浏览器MutationObserve,但 IE 不支持此功能,所以我使用OnPropChanged但有些不对劲,谁能告诉我什么?

非常感谢您的帮助。

0 投票
1 回答
119 浏览

c# - 截断 TimeSpan 秒数以避免属性更改事件

我正在寻找一种从 TimeSpan 对象中截断秒数的解决方案。这不是格式化请求,这是删除。

初始状态 var myTimeSpan = new TimeSpan(2, 1, 30, 10);

期望状态 02:01:30:00

属性更改问题:我有一个计时器,它每秒检查一次时间(需要)。将秒数附加到 TimeSpan 对象的结果是它每秒触发 PropertyChanged 事件。

删除秒部分会将 PropertyChanged 事件触发减慢到 1 分钟间隔(需要)。

赞赏的想法 - 格伦

0 投票
1 回答
743 浏览

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

我试图创造这样的东西 -

在此处输入图像描述

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

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

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

0 投票
3 回答
28912 浏览

c# - PropertyChangedEventHandler 是如何工作的?

这是一个非常简单的问题,但我想知道是否有人可以解释第 4 行实际上在做什么?所以第一行给处理程序一个事件。我真的不知道在什么情况下处理程序将返回 null 或最后一行做什么。

当您向处理程序传递您的对象以及更改了哪个属性时,它对它们做了什么?

我假设我用它来获取此代码,但我想完全了解它在做什么。

0 投票
0 回答
406 浏览

javascript - IE10兼容模式处理onpropertychange错误

我正在使用一些 JS 事件来跟踪 HTML 输入字段的更改,因为我需要验证输入。

Everyting 工作得很好,但是由于 propertychanged 事件,兼容模式下的 IE10 变得疯狂。一旦触发,IE 将不再可用。当我从事件列表中删除 propertychange 时,IE 是可用的,但我没有捕获所有事件(例如剪切动作或当我标记文本并将其移出输入字段时)。

更新:错误控制台中显示了堆栈溢出异常。

这 4 个事件的组合在我需要支持的其他浏览器中运行良好,包括普通的 IE10。

是否有针对此问题的已知解决方法?如果没有此事件,我还无法找到一种方法来跟踪各种用户输入。

谢谢& br

0 投票
2 回答
138 浏览

c# - 通常在不同的类中提高 PropertyChangeNotification 更改属性

我有两节课:

  1. 视图模型A
  2. 主视图模型。

两者都实现INotifyPropertyChanged接口。

MainViewModel 拥有 ViewModelA 对象的可观察集合。我需要更改任何 ViewModelA 类中的某个属性“X”来触发 MainViewModel 中属性“Y”中的 PropertyChangeNotification。

问题 1: 实现这一点的常见做法是什么?

问题 2:在 ObservableCollection 上侦听 CollectionChanged 并附加/删除事件处理程序(这将检查“X”属性是否已更改,如果是则触发“Y”属性更改通知)是一种不好的做法?如果是,为什么?

0 投票
0 回答
661 浏览

asp.net-mvc-4 - 隐藏视图模型属性 - 更改属性 EF

我需要知道 2 个属性是否已更改,以便做一些事情。我认为应该有两种方法,但我无法弄清楚。

我创建了一个带有旧值属性的 ViewModel。在我看来:

在视图模型中:

还有我的活动课:

当我发布视图时,ViewModel 的“previousDate”属性带有默认时间“01/01/1901”,而不是我设置的时间。

我认为其他方法可能是从实体框架中获取更改的属性,但我也无法做到。

0 投票
1 回答
177 浏览

c# - PropertyChangedCallback 中的 DependencyObject 不是同一个对象

我的依赖属性出现了一些奇怪的行为。我在 MyControl 类中设置了以下属性。

后来,我设置了以下内容:

我设置了一个断点并检查了“this”的地址。然后我在 OnMyTempChanged 中设置了一个断点(见上文),并检查源地址。它与之前的“this”(MyControl)的地址不同。而且,数据也不一样。我设置的其他属性也不相同。看起来我有两个不同的 MyControl 对象实例。

这里发生了什么?我需要来自原始对象的数据……而不是我在 PropertyChangedCallback 中得到的混乱副本。