问题标签 [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 回答
632 浏览

c# - 在 WinRT 中的 OnApplyTemplate 之前调用 PropertyChangedCallback

我正在创建一个 WinRT CustomControl,它具有 PropertyChangedCallback 的依赖属性。在该回调方法中,我尝试在使用 GetTemplateChild() 方法从 OnApplyMethod 检索的控件的某些部分上设置值。

问题是在 OnApplyTemplate 之前调用了 PropertyChangedCallback,因此控制部分仍然为空。

我发现的一种解决方法是我在自定义控件的加载事件中调用此 DP。在那种情况下,一切对我来说都很好。但每一种情况都不适用。假设如果有人想通过 xaml 绑定值,问题又会出现。

是否有人对此问题有任何永久解决方法。

0 投票
1 回答
1339 浏览

java - 枚举方法的通用返回类型

情况:可能字段是我想要观察的模型的属性(类似于 PropertyChangeListener)。字段定义为枚举。我想打电话

观察者的类型(“某事”)取决于字段,我想强制类型安全。例如Field.FIRST_NAME会采取一个FieldObserver< String>.

第一种(工作)方法: 我已经可以通过将 Field 定义为具有公共静态最终字段的通用类而不是枚举来实现它。所以我有一个字段,我可以用它来强制类型安全,如下所示:

使用方法Observable<E>void addObserver(FieldObserver<? super E> observer)

现在以下行会导致编译时错误,这就是我想要的

第二种(尚未工作)方法: 我现在正在尝试使用 enum 类实现相同的行为。我的一种方法是:

尝试添加任何类型的 FieldObserver(也是正确的)会给我一个编译时错误,如下所示:

Observable 中的 addObserver (enumer.FieldObserver< capture< ?>>) 无法应用于 (enumer.FieldObserver< java.lang.String>)

有人可以告诉我如何使枚举方法起作用吗?此外,如果有人对这些方法有更好的解决方案或疑虑,我将不胜感激。

0 投票
2 回答
4994 浏览

powershell - 在 Powershell 中修改 LastWriteTime 目录

我想更改文件夹 lastWriteTime 而不修改此目录中文件的 lastWriteTime 。

我一直在尝试这个:

但它没有工作,因为d没有 LastWriteTime 属性。有什么办法可以改变这个属性?我必须只修改 lastTimeWrite 属性的“CV”目录 - 不应触及“CV”中的文件。

0 投票
1 回答
2504 浏览

javascript - 使用javascript更改输入值文本颜色

我是 JavaScript 的新手,我想更改输入元素文本颜色,但是当我加载出错的页面时没有任何反应?

0 投票
2 回答
892 浏览

c# - 检测自定义文本框中的 PropertyChanged

我已经实现了一个自定义TextBox

我从 XAML 中使用:

它绑定到我的 ViewModel 中的一个属性。

问题:我如何才能MyTextBox检测到MyProperty已更改?

最好,我想将编程更改与用户编辑值触发更改时区分开来。也就是说,我认为压倒一切OnPropertyChanged对我不起作用。

0 投票
2 回答
229 浏览

wpf - WPF 无法从自定义 UserControl 绑定依赖属性

我的自定义用户控件中有 MultiSelectComboBox 用户控件。我想将字典类型的 SelectedItems 依赖属性(来自上面的 MSCB)绑定到我的任何 ViewModel 属性...

*MSBC 表示 --> MultiSelectComboBox UserControl !!!!!

MSCB 的代码隐藏:定义 DP:

在 MSCB 中定义 SelectedItems 属性:

My Custum UserControl 的 Xaml:在 Xaml 中定义 MSCB:

在我的 ViewModel 类中:

看起来 OnEventChanged(MSBC 内的 DProperty 的)仅在第一次初始化时触发,然后停止触发。我的 ViewModel 属性没有任何变化。我已将数据上下文设置为指向我的 ViewModel 类,并且此 CustomControl 中的其他绑定工作正常(如 TextBoxes)。

0 投票
1 回答
606 浏览

wpf - 异步绘图中的响应式 UI

我正在尝试Shape在画布上的背景线程中创建包含 5000 个对象的绘图。
我使用异步等待模式:

ObservableCollectionEx意味着我使用扩展ObservableCollection通过 Dispatcher 将对象添加到集合中。
当我从CreateDrawingAsyncWindow 的 Loaded 事件(在 ctor 中Data)开始时,UI 没有响应。
使用 DispatcherPriority.Background 项目在 UI 中被一一添加,但在这种情况下,UI 也没有响应。

1) 我希望后台线程可以解决无响应的 UI 问题,我忽略了什么?

2)为什么RaisePropertyChanged("DrawObjects")(见上面的代码)没有效果?我本来希望由于属性更改,绘图会被清除。

0 投票
1 回答
1074 浏览

c# - 从其他类引发属性更改事件

在我的项目中,我想在用户控件上显示一个列表。为此,我有一个 CategoryView 用户控件和一个 ListView 控件,我想在其中显示列表。和 CategoryViewModel。在 ViewModel 上,我有一个列表 - 属性,我还引发了属性更改事件。

此列表绑定到视图中的 ListView 元素。

如果我更改 CategoryViewModel 中的列表,它可以正常工作并引发属性更改事件。如果我从 MainWindowViewModel 更改列表。未引发任何属性 Changed 事件,并且不会更新视图。我该怎么做?

在 MainWindowViewModel 上,我更改了 CategoryList。列表将正确填写。

0 投票
0 回答
970 浏览

c# - Microsoft UI 自动化:RICHEDIT60W 不支持 ValuePattern

我正在为 Microsoft Word 开发 UI 自动化应用程序,对于 RichEdit 文本框,我需要通过方法“AddAutomationPropertyChangedEventHandler”通过特定处理程序捕获“AutoAddAutomationPropertyChanged”事件。我有代表 RichEdit 控件的 AutomationElement“元素”,并在我的类中添加了事件:

我的处理程序是:

问题是,如果我在“RichEdit20W”类型的 RichEdit 上执行此代码,它会起作用并捕获事件,进入 OnPropertyChanged 处理程序方法。我的问题是在 RICHED60W 文本控件上执行此代码:似乎从未从 Richedit60w 文本控件触发该事件,因此我无法捕获它来执行我的处理程序代码。

例如,在 Microsoft Word 2010 中,如果我使用“查找和替换”窗口的 RichEdit 控件执行此代码,它会起作用并执行处理程序代码。相反,如果我使用 Word 应用程序主窗口左侧的 RichEdit 文本控件执行代码,这是一个 RICHEDIT60W(“导航”窗格,使用 CTRL + F 打开,我使用Inspect.exe工具检查它),它不起作用,并且永远不会执行处理程序代码。我很困惑,因为如果我尝试使用Windows SDK 提供的Accevent.exe工具在 RICHEDIT60W 上​​捕获相同的属性值更改事件,该工具将正常工作并显示事件信息。

我尝试了一切,即使在方法上使用 TreeScope.Element 和 TreeScope.Children 参数,但没有任何反应。

我遵循这个: http: //msdn.microsoft.com/en-us/library/system.windows.automation.valuepattern.valueproperty (v=vs.110).aspx

检查元素是否支持值模式(显然它支持...),并且:

使用自动化框架在文本字段/文本框上设置文本并获取更改事件

在此先感谢并为我的英语感到抱歉。

0 投票
1 回答
909 浏览

wpf - 正在填充文本框,但日期选择器不是通过 mvvm 绑定

我有一个带有日期的文本框,我想将其转换为日期选择器以进行双向绑定。但不幸的是,日期选择器没有显示日期。

以下代码不起作用, selecteddate 显示为空...(虽然其中有一个值)

在应用程序的另一个位置,我还有一个可以工作的日期选择器:

我看不出我做错了什么,看起来很简单。

我可以在日期选择器中输入一个日期,这很有效......非常奇怪......任何想法都会受到欢迎......

编辑:

通过使用 snoop 并查看 datepicker 上的绑定更进一步,它似乎有一个错误,我似乎有不同的预期类型:

编辑2:

就是这样,在代码中日期时间是 NullableDateTime。感谢每个提出想法的人,尤其是 Viv。为每个人投票给每个人一个体面的建议:-)