问题标签 [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 - INotifyPropertyChanged 和 DependencyProperty 有什么关系?
我正在使用 DependencyProperties 构建一个简单的 UserControl 示例,以便可以在 XAML 中更改控件的属性(下面的代码)。
但当然,在我的应用程序中,我不希望此控件具有紧密耦合的代码隐藏,而是用户控件将是一个名为“DataTypeWholeNumberView”的视图,并且它将拥有自己的名为“DataTypeWholeNumberViewModel”的 ViewModel。
因此,我将在 ViewModel 中实现下面的 DependencyProperty 逻辑,但在 ViewModels 中,我通常继承 INotifyPropertyChanged,这似乎给了我相同的功能。
那么两者之间的关系是什么:
- 将 UserControl XAML 的 DataContext 绑定到其背后具有 DependencyProperties的代码
- 将 UserControl XAML(视图)的 DataContext 绑定到其ViewModel(继承自 INotifyPropertyChanged)并具有实现 INotifyPropertyChanged 功能的属性?
XAML:
代码背后:
extension-methods - 有没有办法将规范的 OnPropertyChanged 方法编写为扩展方法?
基本上我想做这样的事情:
这给出了“System.ComponentModel.INotifyPropertyChanged.PropertyChanged 只能在 += 或 -=" 的左侧使用
我的意思是我可以通过这样做来解决它:
但调用代码看起来不太好:
与这个:
没什么大不了的,但是能够像调用实例方法一样调用它会很好。
c# - 将 HashSet 绑定到 ListView 项(C#、WPF)
我正在尝试将 HashSet 绑定到 ListView 项。我在这里记录了我的代码:
任何人都可以帮助我提示如何做到这一点吗?非常感谢!
干杯
c# - 除了数据绑定,.NET Framework 中是否使用了 INotifyPropertyChanging / Changed?
例如,如果您有一个 BindingList<Person> 并将其绑定到控件,如果您的 Person 类未实现 INotfiyPropertyChanging / Changed,则您对基础 List 的更改将不会自动显示在您的控件中。我的问题是,就框架而言,这些接口还有其他用途吗?我不是在谈论使用这些接口来实现基于这些事件的自己的操作,我是在 .NET Framework 本身中谈论,是否还有其他需要实现这些接口?
.net - 在 Visual Studio 2008 中使用 INotifyPropertyChanged 调试属性设置
我有一个类,其属性由另一个类设置。在这个属性设置器中,程序爆炸了。
我只需要知道实际设置属性的类。
我以为我可以只看堆栈跟踪,但因为我使用的是 INotifyPropertyChanged,我认为它没有给我我正在寻找的完整信息。
如果这有帮助,这是堆栈跟踪:
System.Windows.dll!System.Windows.Data.BindingExpression.TargetTextBoxLostFocus(object sender = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs e = {System.Windows.RoutedEventArgs}) + 0x55 字节
System.Windows .dll!System.Windows.CoreInvokeHandler.InvokeEventHandler(int typeIndex = 160,System.Delegate handlerDelegate = {System.Windows.RoutedEventHandler},对象发送者 = {System.Windows.Controls.TextBox},对象 args = {System.Windows。 RoutedEventArgs}) + 0x6b3 字节 System.Windows.dll!MS.Internal.JoltHelper.FireEvent(System.IntPtr unmanagedObj = 173934552, System.IntPtr unmanagedObjArgs = 273432032, int argsTypeIndex = 160, string eventName = "M@2910") + 0x335字节
silverlight - 分层 INotifyPropertyChanged
我有一个为属性实现 INotifyPropertyChanged 的类。
我有一个绑定到该属性的控件。
我有另一个监听 propertychanged 事件的类。在该类的事件处理程序中,我更改了代码中属性的值。
我遇到的问题是,我不想在事件处理程序中执行任何逻辑,因为下次它会因为代码的属性更改而触发。
但是,如果用户同时更改属性的值(通过异步 gui 输入),我仍然希望触发逻辑。我还需要确保控件得到更新(这是双向绑定)。
在不让这变得一团糟的情况下,最好的方法是什么?
wpf - INotifyPropertyChanged WPF
INotifyPropertyChanged 的目的是什么。我知道每当更改属性时都会触发此事件,但是 View/UI 如何知道触发了此事件:
这是实现 INotifyPropertyChanged 事件的客户类:
但是现在如何通知 UI 属性已更改。就像用户将 null 或空分配给名字一样,我如何在 UI 上显示 MessageBox。
wpf - WPF:使用模型视图视图模型刷新具有绑定属性的控件
我正在为 WPF 应用程序使用模型视图视图模型模式。我有一个具有两个属性的 ViewModel(设置为页面 DataContext),其中一个是具有 PropertyChanged 事件的实体。在事件处理程序中,我将另一个属性(布尔值)的值设置为某个值。
现在 Button 和 TextBox 属性在首次加载时绑定良好,并且 PropertyChanged 事件正在触发并执行其操作。但是,Button 的 IsEnable 属性不会更新以反映其绑定到的属性的更改。
ViewModel 看起来像这样:
xaml 排序看起来像这样:
当我更改 ViewModel 中的基础属性时,如何让 Button 更新其 IsEnable 属性?
c# - 在动态代理中保留基类属性
我正在使用 Castle DynamicProxy2。是否可以告诉代理对象继承其基类(代理类)的属性和基类属性的属性。如果不可能在城堡里。任何其他为此目的的图书馆?
我在这里发布了问题的来源Generic IPropertyChangedNotifier using Dynamic Proxy and wcf serialization question
c# - BindingList 内存泄漏
我的应用程序使用从 Bindinglist 继承的自定义列表,然后绑定到所有 UI 控件。该列表是实现 INotifyPropertyChanged 的基本对象的集合。我怀疑内存泄漏并使用 memprofiler 对我的应用程序进行了分析,这确认我的所有列表都从未被释放,并且它们一直在坚持,因为它们订阅了 bindinglist 的 propertyChanged 事件处理程序。
这是我的对象的样本
这是分析器中的分配堆栈
有人可以帮我处理清单吗?
谢谢大家
亨克,你是对的。问题不在于我提到的代码,而是我将其范围缩小到阻止我的表单被处理的代表。我正在制作一个样本来复制我将上传到网站的问题。谢谢