我正在使用 Extended WPF ToolKit 的 DecimalUpDown 控件(v1.7)。使用微调器控件时,该控件的行为与我预期的一样,但在直接编辑文本时则不然。这是一个基本的 MVVM WPF 应用程序,其控件绑定(bind)到名为 CurrentWidth
的 View Model 十进制属性。 .
在 ViewModel 中,对 CurrentWidth
实现了各种验证规则。 , 在属性的末尾它执行 RaisePropertyChange("CurrentWidth");
如果值未验证,有时会保持 CurrentWidth 不变。
当使用微调控件进行更改时,所有错误检查、值恢复等都会起作用。当用户直接在框中输入文本时,验证仍然有效,但框会显示用户输入的内容。当我发送一些调试信息时,Value 属性和 Text 属性都具有正确的未修改值,但该框仍显示用户输入的值。我尝试添加一个 LostFocus 事件处理程序并调用 InvalidateVisual()
在发件人控制上,甚至尝试了 UpdateLayout()
同样,但在关闭控件后,用户输入的文本仍然显示。有谁知道如何让它反射(reflect)实际的当前值?
最佳答案
下载 WPFToolkit 1.8.0.那里解决了这个错误。
关于c# - DecimalUpDown 直接编辑时不显示正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13073520/