WPF:验证时绑定到不可为空的值

2023-12-29

考虑以下场景:

<TextBox Text="{Binding Price}"/>

这是价格属性

public Decimal Price
    {
        get
        {
            return _Price;
        }
        set
        {
            if (_Price != value)
            {
                _Price = value;
                OnPropertyChanged("Price");
            }
        }
    }

这个方法检查我的财产

private string validateGlassPrice()  
  {    
    if (GlassPrice <= 0)   
     {       
     return "price can't be 0 nor a minus value "; 
     } 
   else 
     {           
     return String.Empty;    
     }  
  }

此方法检查我的属性是否为 0 或更少 - 负值 - 现在我需要检查它是否为 null 或空,问题是 Decimal 不接受可为 null 的值,有什么解决方法吗?

提前致谢


你可以使用可空类型 http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx

或者,如果不希望更改模型,则可以绑定到视图模型上的属性。

通常,我更喜欢在视图模型中使用字符串值作为双精度/十进制值,并将验证放在视图模型属性的设置器中。如果传递了无效的小数,则不要更新支持字段。

在适当的时候,将有效视图模型的属性值复制到您的模型中,例如在需要保留模型之前等,或者在屏幕关闭时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF:验证时绑定到不可为空的值 的相关文章

  • 强制关闭代码中所有打开的弹出窗口

    我想让所有打开的弹出窗口 StaysOpen false 从代码中关闭 基本上我想从代码中模拟用户单击鼠标 这将关闭弹出窗口 我不需要实际模拟点击 我只需要结果行为 我想过只浏览视觉树寻找弹出窗口并关闭每个弹出窗口 但这似乎不是最干净的方法
  • Spring.Net可以起到PostSharp的作用吗?

    几个月前 我发现了 PostSharp 有一段时间 它非常棒 但随后法律部门回复说他们不喜欢旧版本的许可证 然后部门告诉我2 0的价格高得令人无法接受 对于我们需要的座位数量 我非常失望 但并不沮丧 我想 这不可能是唯一的这样的框架 我一直
  • 同步用户控件中多个属性的绑定

    我的 WPF 用户控件有一个丑陋的竞争条件 它是某种扩展的 ComboBox UserControl主要定义了两个可绑定的DependencyProperties 一个是选中项 另一个是一个列表 可以从列表中选择选中项 两者都是可绑定的 因
  • 设置 Cursor.Position“half”-有效(从一台显示器到另一台)

    我有两个显示器 其中一个是非主显示器 number 1 设置为主要的 number 2 左上角像这样 我再说一遍 number 2是主监视器 这是代码 Cursor Position new Point 500 500 发生的情况是 当光标
  • 如何让“dnu”命令在 OS X 上运行?

    刚刚下载并安装视觉工作室代码 https code visualstudio com 在 OS X 10 10 3 上 我已经设法部分遵循ASP NET 5 安装说明 https code visualstudio com docs ASP
  • 如何使用Entity Framework Code First CTP 5存储图像?

    我只是想弄清楚是否有一种简单的方法可以使用 EF Code First CTP 5 存储和检索二进制 文件 数据 我真的很希望它使用 FILESTREAM 类型 但我真的只是在寻找某种方法让它工作 我总是创建另一个类 例如ProductIm
  • 一个好的 WPF 滚动时间线控件? (精美的日期时间选择器)

    我正在寻找可以用作时间线控件的东西 一种 横幅 用户可以向左或向右拖动以前进或后退 然后他或她应该能够在该控件上选择一个时间点 一个精美的日期时间选择器 有任何想法吗 欢迎您尝试我的新 TimelineControl 我已经在 codepl
  • 实体框架不将Where子句作为WHERE子句发送到SQL Server

    我有一个包含站点的简单数据库 每个站点都有一堆帖子 我正在尝试获取某个站点的所有 公共 帖子 我有一个名为 site 的变量 它已经是 EF 带来的实例 第一个显而易见的事情是 var posts from post in site Pos
  • 返回无效或过期令牌的错误

    我正在尝试使用 Owin 实施 OAuth 承载身份验证 当传递无效或过期的令牌时 默认实现是将其记录为警告并且只是不设置身份 然而 在这种情况下 我想拒绝整个请求并出现错误 但我该怎么做呢 深入研究代码后我发现OAuthBearerAut
  • 如何使用 gzip 压缩 .net 对象实例

    我想在将数据库查询结果添加到缓存之前对其进行压缩 我希望能够压缩任何引用类型 我有一个用于压缩字符串的工作版本 这个想法基于 scott hanselman 的博客文章http shrinkster com 173t http shrink
  • 双击定时器事件

    我正在开发一个应用程序 将用户的眼球运动与光标运动映射起来 从而开发一个免提光标控制系统 我正在使用 Open CV 库的 NET Wrapper for C 即 Emgu CV 进行开发 我被困在想要打开文件 文件夹的地方 这样当光标放在
  • 工具提示出现在表单/窗口后面! (C#/VS 2008)

    由于某些奇怪的原因 我在 VS 2008 C winforms 应用程序中的工具提示显示在表单后面 这非常令人沮丧 我不知道我应该做什么 有人遇到过这个吗 有想法吗 PS 我正在表单中以编程方式执行 toolstip show 您可能需要检
  • WPF 用户控件引发设计时异常

    我有一个启动计时器的用户控件 看起来 XAML 设计器正在尝试调用该代码 该代码链接到一些后端数据库内容 我在设计屏幕中不断收到未经处理的异常错误 有什么想法可以阻止设计师尝试运行代码吗 当加载到设计器中时 XAML 设计器将调用 User
  • 如何检查DLL文件是否已注册?

    如何以编程方式查找用 C 编写的 DLL 文件是否已注册 我已经尝试过这段代码 但它没有成功 如果我注册一个 DLL 文件并使用此代码进行检查 它将返回 如果我取消注册它并运行同一段代码 它会再次返回 true 我将 DLL 文件的完整路径
  • 如何将 POST 请求内容保存为 .NET 中的文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个客户端应用程序POST请求a
  • 将授权放在服务层而不是Web API层

    我正在使用 NET Core Web API 构建 REST API 我的控制器只是将请求转发到服务层并返回结果 HttpPost nameof Create public async Task
  • 增加超时时间

    我必须增加超时时间 以下是我的代码 Private Function GetConnectionInstance As SqlConnection Dim objConn As SqlConnection Dim strConnection
  • 为什么 afterRender 从未被调用?

    看一下下面的 HTML 示例 这是一个简单的KOforeach绑定和一个将新项目添加到的按钮observableArray 添加工作正常并且新项目出现 但是 那afterRender方法永远不会被调用 不会在初始绑定之后 也不会在添加 和呈
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和

随机推荐

  • JavaScript 中的构造函数或对象继承

    我是 JavaScript 新手 本周开始学习 我已经完成了 CodeCademy 课程 实际上只是对象 1 2 部分 其余的很无聊 我以为我学会了构造函数的原型继承 但我已经开始观看了Douglas Crockford 高级 JavaSc
  • 在两个curl请求之间保存cookie

    我知道使用cURL我可以使用以下命令查看收到的 cookie 标头 curl head www google com 我知道我可以使用以下方法将标头添加到我的请求中 curl cookie Key Value www google com
  • Android 以编程方式重置出厂设置

    我尝试使用 RecoverySystem 类在 Android 中执行恢复出厂设置 但出现权限错误 但我无法覆盖这些错误 因为它们是系统权限 我想知道是否还有其他方法可以恢复出厂设置 第三方应用程序绝对可以做到这一点 在 2 2 设备 包括
  • 将 LUIS 对话框连接到表单对话框并映射正确的字段

    我正在开发一个可以预订航班的机器人 我正在使用最新版本的机器人框架 1 1 如建议 https stackoverflow com questions 36712912 mapping luis entities to dialog fie
  • 特征返回特征:在某些情况下有效,在其他情况下无效

    我需要实现一个返回的特征futures StreamExt trait 一般来说 这听起来很简单 并且有几个答案 例如这里 https stackoverflow com questions 60143046 how can a rust
  • 在小提琴图上绘制群图会更改 ylim 并截断小提琴

    import seaborn as sns import numpy as np for sample data import pandas as pd sample data np random seed 365 rows 60 data
  • 如何在Python中将字符串列表转换为字典[重复]

    这个问题在这里已经有答案了 我有一个字符串列表 我想转换成字典 我在抓取数据后得到了输出 Name Dr Mak Location India Delhi Name Dr Hus MD Location US NY 我想要如下输出 Name
  • CQRS-最终一致性

    我有以下场景 需要按照 CQRS 模式来实现 用户登录 用户输入一些保险详细信息 用户请求应用决定 用户查看决策结果 这看起来相当简单 但是我的问题是在步骤 3 和 4 之间 在步骤 3 中我发送了一个ApplyForDecision命令将
  • 来自 Spring Hateoas 的文档 HAL“_links”(带有招摇)? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想为我的客户开发团队记录一个 REST 服务 所以我添加了一些Links from Spring H
  • 将mat文件转换为pandas dataframe问题

    你好 我一直致力于将 matlab 矩阵良好地转换为 pandas 数据帧 我转换了它 但我有一行 其中有列表列表 这些列表通常是我的行 import pandas as pd import numpy as np from scipy i
  • Qi Symbols 性能慢?

    我想提出一个让我掉进兔子洞的话题 并提出了一个关于 气 符号 这一切都是在我研究新的野兽图书馆并阅读时开始的A 教程示例 http www boost org doc libs 1 66 0 libs beast example http
  • 如何更改标记图标?

    我想知道是否有办法改变那些用作标记的红色别针 如果有办法的话 该怎么做呢 您可以在地图视图中使用以下 3 种颜色图钉 MKPinAnnotationColorGreen MKPinAnnotationColorPurple MKPinAnn
  • 在 Mac OS X Lion 上安装 pymssql 时出错

    我安装了 XCode 和 FreeTDS 我尝试连接到我的 SQL Server 它工作得很好 现在我必须在 python 上开发一个与此 SQL Server 配合使用的应用程序 并且我正在尝试安装 pymysql 但是当我启动 sudo
  • Zoomable JScrollPane - setViewPosition 无法更新

    我正在尝试编写一个可缩放图像在 JScrollPane 中 当图像完全缩小时 它应该水平和垂直居中 当两个滚动条都出现时 缩放应始终相对于鼠标坐标进行 即在缩放事件之前和之后图像的同一点应位于鼠标下方 我已经快要达到我的目标了 不幸的是 s
  • DataStudio:BigQuery 和标准 SQL

    如何使用 BigQuery 数据源在 Google Data Studio 上使用标准 SQL 查询 谢谢 Google Data Studio 现在支持 standardSQL 只需在插入查询时选中相应的框即可
  • Java ArrayList Contain 总是返回 false,尽管它包含相同的值

    这是我的洞课 class Hole public int a public int b Hole int a int b this a a this b b 所以我添加了一个包含几个洞的ArrayList public void check
  • 表值参数:以小块发送数据

    我正在读取 csv 文件并将数据作为表变量发送到存储过程 根据我迄今为止的测试 我能够在 3 分 30 秒内处理 300k 条记录 该文件可能包含多达数百万条记录 我想知道一次性将所有这些记录发送到存储过程是否是一个好主意 或者我应该分批发
  • WPF 将 DataGrid 列隐藏到绑定

    由于某种原因 我无法隐藏 WPF Toolkit 的 DataGridColumn 我正在尝试执行以下操作
  • 为什么类需要 __iter__() 来返回迭代器?

    为什么类需要定义 iter 返回 self 以获得类的迭代器 class MyClass def init self self state 0 def next self self state 1 if self state gt 4 ra
  • WPF:验证时绑定到不可为空的值

    考虑以下场景