问题标签 [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.
c# - 通过 WCF 的 ObservableCollection
如果服务器端的集合已更改(通过客户端操作或服务器操作),我从几天以来一直在尝试将 PropertyChanged 事件从我的 wcf 服务获取到 wcf 客户端。必须有更好的解决方案,而不是使用回调并重新加载列表......或者?
在服务器端:(几乎就像另一篇文章中的示例) ObservableCollection 和 CollectionChanged 事件作为 WCF 数据合同
在客户端:
到目前为止它的工作......我可以在客户端查询集合,但是当服务器集合发生变化时我没有收到“propertyChanged”?
怎么了?我的错误和误解在哪里?
wpf - 未调用依赖属性的 PropertyChangedCallback
如果有一个带有 DependencyProperty 的自己的用户控件和相应的回调方法,如下所示:
使用此用户控件时,我将名为“Rates”的 ObservableCollection 绑定到 RatesProperty。费率和相关方法如下所示:
当我更改 ObservableCollection Rates(例如使用this.Rates = new ObservableCollection<double>() { 1.0, 2.0 }
)时,用户控件的 OnRatesChanged() 方法会像预期的那样被调用。但是当我执行以下命令时,它不会被调用:
我希望当我使用正确的属性名称引发 PropertyChanged 事件时,始终会调用用户控件中的相应回调。那是错的吗?我找到了这个线程:Getting PropertyChangedCallback of a dependency property always - Silverlight 涵盖了 silverlight,但我认为 WPF 也是如此。
所以后台的框架检查绑定的属性(在我的例子中是“Rates”)是否改变了,只有当它改变时,它才会调用相关的回调,对吗?因此更改我收藏的元素没有任何效果,我总是要更改完整的收藏?
谢谢!
wpf - 如何在 WPF 中将初始化参数传递给 UserControl(使用 MVVM)
我有一个名为 ActionsTreeView 的 UserControl,我使用 MVVM 实践构建了其中我有一个 IPluginsProvider 接口,用于填充我的 UserControl 中的数据。我希望能够提供一个实现此IContentProvider
接口的对象作为参数来初始化我的 UserControl 的 ViewModel。
到目前为止,这是我的方法,这是行不通的。我想知道我是否走在正确的道路上?我在我的用户控件中声明了一个DependencyProperty
对我想要实例化此 UserControl 的 mainWindow 可见的用户控件。此代码只是尝试将 PluginsProvider 对象传递给需要它来构建其 ViewModel 的我的 UserControl。
我的 UserControl 中的 PluginProviderDependencyProperty
设置器永远不会被击中,因为我的PropertyChanged
处理程序在 MainWindow.xaml.cs 中始终为空联系?
ActionsTreeView.xaml.cs
主窗口.xaml.cs
在 MainWindow.xaml 中使用我的 UserControl
.net - 如何检测基类中更改的属性
我创建了一个继承自的自定义控件Label
,我添加了一个字符串属性SecondLanguageText
。
我想检测RightToLeft
基类 ( Label
) 的属性何时更改为用新属性替换文本属性SecondLanguageText
,我想通过添加属性更改OnRightToLeftChanged
时触发的事件来做到这一点RightToLeft
c# - 为什么我使用 UpdateSourceTrigger=PropertyChanged ,TwoWay 还不够?
你好; 有源文本框和目标文本框 txttarget 绑定到 txtsource。在txtsource中写东西时,txttarget发生了变化。一切都很好。但是在 txttarget 上写,我没有看到 txttarget 有任何变化?有双向模式。双向模式还不够?我可以在不使用“UpdateSourceTrigger=PropertyChanged”的情况下编写吗?
wpf - 在 C++/CLI 中订阅窗口的 PropertyChanged 事件
我只是尝试使用 C++/CLI 订阅 WPF 属性更改事件。我没想到这会变得困难。
首先,我尝试订阅某个窗口的特定属性(IsMouseDirectlyOver),最后通过以下代码成功:
然后我尝试订阅对象的任何属性更改(这对我来说最重要,因为我的最终代码必须能够通过属性名称处理属性更改)。我在这方面完全失败了。
我尝试了各种方法,但没有任何效果。我找不到任何 C++/CLI 示例,但根据文档和 C# 示例,以下对我来说似乎是最明智的代码:
但是编译器通过错误 C2039 告诉我“PropertyChangedEvent”不是“System::Windows::Window”的元素。
我怎样才能达到我想要的?
c# - WebBrowser OnPropertyChange 事件未触发
我有一个网页,上面有一个输入按钮。单击此按钮,在特定的 div 中加载一些数据。我的问题是我无法捕捉到这些数据。
下面的代码是我尝试解决这个问题,但没有成功。
如果我点击输入按钮,div 的内容会被修改,但resultEventHandler
不会触发。
所以,我有两个问题:
- 这段代码我的错在哪里?
- 是否有“正常方式”(我的意思是不使用计时器或)在 C# 中
Aplication.DoEvents()
使用控件来处理 ajax ?WebBrowser
c# - 使用其设置器捕获属性更改
我想在属性更改时收到通知,以便我可以在数据库中记录属性的旧值和新值。
所以我决定采用属性设置器的方法,并有一个处理所有属性的通用方法。
我创建了下面的类:
在我的财产上,我这样称呼它:
但这是第一次使用泛型,所以很少有顾虑:
- 我如何在我的财产上调用它?
- 这是一个好方法吗?
- 我可以公开调用函数
PropertyChangedExtendedEventArgs(string propertyName, T oldValue, T newValue)
并保存到数据库吗?
c# - 带有 DataTemplateSelector 的 WPF ListView:PropertyChanged 始终将焦点设置为 ListView
我对这个问题感到非常沮丧,但也许它真的很微不足道,我只是看不出问题出在哪里。情况如下: 我有一个绑定到 ItemsSource 的 ListView。根据类型,DataTemplateSelector 决定使用哪个模板。
如果我通过控件(文本框)选项卡一切正常。只要我在文本框中输入一个值,然后从文本框属性中跳出标签,就会调用此属性的更改。我的控件得到更新。一切正常,但问题来了:当控件更新时,焦点不会移动到下一个制表位,而是跳转到 ListView。我该如何禁用它?我怎样才能让它移动焦点,就像没有输入数据并且没有引发属性更改一样?
提前致谢
更新:XAML 的一部分,如果您需要更多信息,请告诉我
更新 2 :在 ListView 上设置 Focusable=false 后,如果 PropertyChanged 被提升,焦点现在会跳出整个 ListView 控件
ListView 声明:
模板示例:
更新 3: 在 ListViewItems 的焦点丢失事件中,我可以看到焦点有时设置为 DisconnectedItem(请参阅SO 上的 DisconnectedItem ,这可能是我有这种行为的原因。
我现在通过手动恢复焦点来解决我的问题。在 ListViewItem GotFocus 和 LostFocus 事件中,我存储选定的 ListViewItem 并在需要恢复焦点时设置一个标志,然后可以在 ItemContainerGenerator.StatusChanged 事件中完成。
这个解决方案对我来说似乎很丑 - 任何其他解决这个问题的建议或方法仍然很好。
c# - 检测何时注册到属性更改事件
我有一个Property Change
活动,我想知道什么时候注册。
这是我的活动class1
:
这里我的寄存器class2
(MyObj
是 a 的一个实例Class1
):
当注册发生时,我想运行一个特定的功能(从class1
),我该怎么做?
我找不到任何办法这样做......