c# - DecimalUpDown 直接编辑时不显示正确的值

标签 c# wpf mvvm wpf-controls numericupdown

我正在使用 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/

相关文章:

wpf - MVVM 和 TextBox 的 SelectedText 属性

android - 在 MVVM 架构中从 ViewModel 启动 Activity 的最佳方法

xml - WPF - 带内容的边框模板

c# - WPF-Window Topmost 仅适用于自己的应用程序?

c# - 在 parallel.foreach 范围之外递增计数值

c# - 如何强制 WebAPI OData 扩展子句?

wpf - 如何预渲染 View ?

c# - 如何在 MVVM 应用程序中将任意 View 动态插入 xaml?

c# - 在 Windows 10 应用程序中实现 TreeView

c# - 在datagridview中搜索数据