问题标签 [inotifypropertychanged]
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.
wpf - WPF - 组合框绑定问题
我正在使用 WPF/MVVM 并且遇到了 ComboBox 的绑定问题 - 任何帮助表示赞赏!
这是我的组合...
这是我的 ViewModel ...
我的问题是,尽管 RemoveCriteria 从列表中删除了该项目,但它不会更新视图上的 ComboBox。有人可以帮忙吗?
谢谢,
安迪
c# - Implementing INotifyPropertyChanged - does a better way exist?
Microsoft should have implemented something snappy for INotifyPropertyChanged
, like in the automatic properties, just specify {get; set; notify;}
I think it makes a lot of sense to do it. Or are there any complications to do it?
Can we ourselves implement something like 'notify' in our properties. Is there a graceful solution for implementing INotifyPropertyChanged
in your class or the only way to do it is by raising the PropertyChanged
event in each property.
If not can we write something to auto-generate the piece of code to raise PropertyChanged
event?
vb.net - 有没有办法手动引发 EntityObject 的 PropertyChanged 事件?
嗨,我正在尝试引发 EntityObject 的 PropertyChanged 事件,但我没有找到办法,这可能吗?
.net - 当嵌套实现 INotifyPropertyChanged 的属性时,父对象必须传播更改吗?
这个问题将表明我在实施/使用 INotifyPropertyChanged 时对预期行为缺乏理解:
问题是 - 为了让绑定按预期工作,当您有一个本身实现 INotifyPropertyChanged 的类时,该类具有 INotifyPropertyChanged 类型的嵌套属性,您是否希望在内部订阅这些属性的更改通知,然后传播通知?或者绑定基础设施是否具有使这变得不必要的智能?
例如(请注意此代码不完整 - 只是为了说明问题):
所以,在这个例子中,我们在 Person 对象中嵌套了一个 Address 对象。两者都实现了 INotifyPropertyChanged 以便更改其属性将导致向订阅者传输属性更改通知。
但是,假设使用绑定某人正在订阅 Person 对象的更改通知,并且正在“侦听”对 Address 属性的更改。如果 Address 属性本身发生更改(分配了不同的 Address 对象),它们将收到通知,但如果嵌套地址对象(城市或街道)包含的数据发生更改,它们将不会收到通知。
这导致了一个问题 - 绑定基础设施是否有望处理这个问题,或者我应该在我的 Person 实现中订阅地址对象上的更改通知,然后将它们作为“地址”的更改传播?
如果您到了这一点,感谢您花时间阅读这个冗长的问题?
c# - WPF 何时订阅 PropertyChanged 事件?
我有一个实现接口ClassA
的属性ObservableCollection
INotifyPropertyChanged
在我的窗口代码隐藏中,我声明了 a ClassA variable
,并在 Main() 方法中对其进行了初始化。
我希望variable.PropertyChanged
会有一个 WPF 事件连接到它,但显然该PropertyChanged
事件仍然为空
c# - ObservableCollection 没有注意到其中的项目何时更改(即使使用 INotifyPropertyChanged)
有谁知道为什么这段代码不起作用:
ViewModelBase
包含RaisePropertyChanged
等的所有内容,并且它适用于除此问题之外的所有其他内容..
wpf - INotifyPropertyChange 不更新基于转换器的值?
我有一个源设置为 a 的图像ValueConverter
:
当绑定对象引发PropertyChanged
事件(来自INotifyPropertyChanged
)时,图像不会改变。我认为这是因为 WPF 不知道转换器查看哪些字段。
当某个属性发生变化时,如何告诉 WPF 重新绑定/重新运行此转换器?
c# - WPF PropertyChange 不会级联 - 动画一个自定义类依赖属性会更改其他属性 - PropertyChange 仅在第一次触发
非常简化,这是我的问题:(底部的解决方案)
我有一个自定义类,继承 Animatable 和 INotifyPropertyChange,其中包含一个 DependencyProperty(我对其进行动画处理,例如从 1 到 10)和一个额外的属性(我想通过绑定从 XAML 中使用它):
当我将 GUI 元素绑定到我实际设置动画 (AnimateValue) 的属性时,一切都按预期工作 - 当我将 GUI 元素绑定到相关属性 (GuiValue) 时,什么也没有发生。我猜更改的事件没有到达该属性,但我真的不知道如何解决问题。任何指针?
任何帮助是极大的赞赏!
编辑:感谢 Adam Sills 和 Kai Wang 的两次回复,我愚蠢地忽略了第二次 OnPropertyChange 调用,但是我之前尝试过,但没有成功。为了调试,我在 AnimateValue.set 函数中添加了一条写入行,然后看——它根本没有被执行!
我还尝试将吸气剂更改为始终返回 20 - 没有变化!:-o 动画似乎完全跳过了属性获取和设置,动画并读取了底层的依赖属性......还是我误解了?我使用的动画代码是:
嗯……在这里写完代码之后,不使用 setter 似乎很合理(尽管我真的很希望这样!) - 但是,基本问题仍然存在,我仍然不明白为什么不使用 getter!
编辑2:解决方案!
正如下面所建议的,我不能将 INotifyPropertyChange 用于连接到 DependencyProperty 的属性 - 动画和 XAML 在内部使用 DependencyProperty 并且根本不使用 getter 和 setter。
因此 - PropertyChangedCallback 通知其他人发生变化, CoerceValueCallback 来“修复”数据。也可以验证数据,所有这些都在 DependencyProperty 构造函数中完成。谢谢大家!
谢谢!
/胜利者
.net - Mono 是否支持 INotifyPropertyChanged?
我目前正在开发一个应用程序,它应该能够在标准 .Net 框架和 Mono 下运行。我想知道我是否可以安全地INotifyPropertyChanged
在我的业务模型中实现,并且 Mono 框架会在不付出额外努力的情况下接受它?
Mono 框架中对数据绑定的支持是否足够好?
c# - C# WPF OnPropertyChanged 在 foreach 循环中
我一直在尝试学习和利用 WPF 和数据绑定。我有一个列表视图,其中有一列将显示三个图像之一,如以下代码片段所示:
我有一个类(BatchQueueItem),其中包含用于处理 PropertyChange 事件的代码:
我在 listview 窗口页面上有一个按钮:
我遇到的问题是图像直到 foreach 循环完成并且 btnStart_Click() 方法完成后才会更新。一旦发生这种情况,所有图像都会按预期更新,而不是迭代地一次更新。
我想要的以及我认为会发生的事情是,foreach 循环的每次迭代都会更新相应行的图像。毫无疑问,我错过了关于这一切如何运作的重要信息。有小费吗?