当文本框中未填充任何内容时,将 mvvm WPF 中的属性设置为 null

2024-02-07

我实现了一个文本框,它绑定到一个视图模型。例如,我在文本框中默认填写“100”,但如果我将其更改为 10,则该属性始终设置正确。但是当我删除所有数字时,我希望该属性设置为空。但它只是在没有填写任何内容时不设置该值。他只是保留最后一个值。

这是我的代码,viewmodel + xaml:

public double MaxTime
{
    get
    {
        return maxTime;
    }
    set
    {
        maxTime = value;
        OnPropertyChanged("MaxTime");
        if (SelectedQuestionDropList != null)
        {
            foreach (QuestionCluster cluster in this.Examination.QuestionClusters)
            {
                if (cluster == SelectedQuestionDropList)
                {
                    cluster.MaxTime = value;
                }
            }
        }
    }
}


<TextBox Height="23" 
         Visibility="{Binding Path=VisibleClusterDetails, Converter={StaticResource boolToVis},UpdateSourceTrigger=PropertyChanged}"  
         Text="{Binding Path=MaxTime,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
         HorizontalAlignment="Right" Margin="0,511,601,0" Name="textBox2" 
         VerticalAlignment="Top" Width="120" /> 

这是一个具有约束力的问题,你必须做三件事

1)将系统命名空间导入到您的xaml文件中(注意sys关键词):

xmlns:sys="clr-namespace:System;assembly=mscorlib"

2)然后在你的绑定中,你需要告诉它当文本框中的值为 string.Empty 时发送 null (这是当文本框中没有任何内容时的值,这就是为什么它不起作用,因为 string.Empty 不能' t 转换为双精度)。通过做这个:

<TextBox Text={Binding MaxTime,TargetNullValue={x:Static sys:String.Empty}}/>

3)改变你的ViewModelMaxTime属性为类型double?

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

当文本框中未填充任何内容时,将 mvvm WPF 中的属性设置为 null 的相关文章

  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • ListView ItemContainerStyle 模板

    我创建了用作 ListView 项目模板的样式 其中包含 CheckBox 和 TextBlock
  • 如何从代码隐藏访问ListBox动态创建的项目的属性?

    XAML
  • WPF:Prism 对于小型应用程序来说是不是太过分了?

    如果我不将我的应用程序分成不同的模块 否则我会认为 Prism 确实是可行的方法 我应该使用 Prism 吗 我知道 Prism 提供了一个方便的实现ICommand 我可以自己在一页代码中完成 并为我们提供IEventAggregator
  • 如何在 NHibernate 命名查询参数上设置 C# 可为空值类型值?

    我正在使用 NHibernate 并通过命名查询调用存储过程
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • 需要“依赖属性”的简短而清晰的定义

    我试图弄清楚依赖属性到底是什么 但是当我在任何地方寻找定义时 我只找到 如何使用 而不是 它是什么 想象一下 您在面试时被问到 什么是依赖属性 你的答案是什么 DependencyProperty 是一个属性 其值取决于 或可以取决于 某些
  • 给图像着色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试着色System Windows Controls Image 该图像包含透明区域 我只是想用颜色给非透明区域着色 例如 图
  • 将 Pivot 控件与 Observable Collection MVVM 绑定(Windows Phone 8)

    我是 WP8 和 MVVM 的新手 我创建了 wp8 应用程序 一旦用户登录 它就会请求各种数据 我只是无法动态创建我的数据透视表头 我不知道这是否是因为我在绑定中做了一些事情 INotifyPropertyChanged 两者或其他 这是
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • 从一张图像复制 ROI 并复制到 wpf 中的另一张图像

    我想开发一个具有以下签名的函数 CopyImage ImageSource inputImage Point inTopLeft Point InBottomRight ImageSource outputImage Point outTo
  • 包含内容的 WPF 新窗口

    我想在现有的主 Windwoe 旁边创建一个带有可滚动文本框的新窗口 我在主窗口中按下 打开新窗口 按钮 然后它应该打开一个带有可滚动文本框的新窗口 inside form2 在 WPF 中 您可以在主窗口中拖放元素 但不能在新窗口中执行此
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 在 log4j2.properties 中配置异步记录器

    我想在 log4j2 properties 文件中使一些记录器异步 在 xml 格式中 您可以添加为
  • 列表框未使用绑定填充

    我正在尝试使用 mvvm 模式将现有程序转换为 c wpf 第一部分是选择要处理的文件的文件夹位置并填充列表框 我在这里找到了一个使用 Mvvm Light 的示例 WPF OpenFileDialog 与 MVVM 模式 https st
  • 在 NUnit 测试中使用 WPF 组件 - 如何使用 STA?

    我需要在 NUnit 单元测试中使用一些 WPF 组件 我通过 ReSharper 运行测试 在使用 WPF 对象时失败并出现以下错误 系统 InvalidOperationException 调用线程必须是 STA 因为许多 UI 组件都
  • 如何使取消按钮像“X”按钮一样工作?

    在我的 XAML 文件中 我有一个窗口 我试图将其设置为无论用户单击 X 按钮还是单击 取消 按钮 行为都是相同的 我的缩写代码如下 public partial class Dialog Window private void Windo
  • 使用内部 setter 进行属性注入

    我正在修改一个现有应用程序以使用 Autofac 属性注入 似乎无论我使用哪种方法向属性注册类型 属性始终为 null 除非它们具有公共设置器 对于其他 IoC 容器 例如 Structuremap 可以使用 setter 内部范围并使其可
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp

随机推荐

  • 如何在oozie作业中指定多个libpath?

    我的 oozie 工作使用 2 个 jarx jar and y jar以下是我的 job properties 文件 oozie libpath lib oozie use system libpath true 当两个 jar 都位于
  • 如何将输入图像提供给经过训练的模型?预期 input_1 有 4 个维度,但得到的数组形状为 (224, 224, 3)

    import tensorflow as tf from tensorflow import keras from keras models import load model from keras preprocessing import
  • 如何使用 Inno Setup 更改可执行文件权限?

    我通过 InnoIDE 中的向导创建了一个非常简单的 inno 脚本 但是 普通用户可以运行部署的可执行文件 如何强制用户必须通过脚本以管理员身份运行它 Setup AppId 03E6645E 2C53 4E90 967B D0833A8
  • std::string size() 是 O(1) 操作吗?

    std string size 是 O 1 操作吗 我使用的STL实现是VC 中内置的 如果您问 MSVC 的 string size 实现是否具有恒定的复杂性 那么答案是肯定的 但唐 韦克菲尔德 https stackoverflow c
  • Java - 父类正在调用子类的方法?

    抱歉 我对编码还很陌生 可能还没有掌握所有术语 希望您仍然能理解我的问题 我想要得到的输出是 Cost for Parent is 77 77 Cost for Child is 33 33 但是 我得到了这个 Cost for Paren
  • Angular - Prod Build 不生成唯一的哈希值

    Angular 生产构建不会在我的项目中生成唯一的哈希值 以下是构建日志截图 无法在新的 Angular cli 项目中重现此问题 似乎我的项目中存在一些问题 我正在使用角度 6 0 3 下面是 angular json schema no
  • Office 365 Rest API 读取“回复”字段

    我正在使用此处记录的其余 APIhttps msdn microsoft com office office365 APi mail rest operations https msdn microsoft com office offic
  • ARM GCC 生成函数序言

    我提到 ARM 工具链可以生成不同的函数序言 实际上 我看到两个 obj 文件 vmlinux 具有完全不同的函数序言 第一种情况如下所示 push some registers maybe fp lr lr ommited in leaf
  • 如何使用 gganimate 获得完整而不是部分的饼图

    我在制作动画饼图时遇到问题gganimate and ggplot 我每年都想吃普通的馅饼 但我的产量完全不同 您可以使用以下代码查看示例mtcars library ggplot2 library gganimate Some Data
  • 从数据框中选择每第 n 行

    我有一个数据表 想要从中提取每第五行以创建一个新表 有一个命令可以实现这个目的吗 这是我的数据示例 count Idf Nr block 1 1233 B12 2 1233 B12 3 1446 B12 4 1446 B12 5 365 B
  • Ansible 复制与同步

    使用 Ansible Synchronize 与 Copy 模块有何优缺点 据我所知 同步具有复制所具有的所有功能 但速度可能要快得多 因此我正在考虑更改所有内容以使用同步 同步的唯一缺点是需要 rsync 这在 Linux 环境中似乎相当
  • jQuery $(document).ready 函数的缩写形式

    我使用了很多 jQuery 所以我必须不断地输入 document ready函数来放置 jQuery 代码 该函数有更短的形式吗 允许使用以下三种语法 Syntax 1 document ready function Syntax 2 r
  • MySQL WHERE 过程中的条件被忽略

    我正在尝试制定一个带有参数的程序 但是当我在一个WHERE情况就好像从未存在过一样 他们只是被忽视了 DELIMITER DROP PROCEDURE IF EXISTS p CREATE PROCEDURE p IN player TEX
  • WPF如何将mousedown(命令/操作)绑定到标签

    我可以找到很多到按钮的命令鼠标绑定 但是如果我想将 mousedown 事件绑定到绑定 MVVM 模式 怎么办 我找不到答案 可能是我看不到的很小的东西 但有人可以帮助我吗 xaml
  • SQL Server 2008 R2 中的高效分页

    我想编写一个执行以下操作的存储过程 返回匹配查询的记录数 以确定向用户显示的页数 返回另一个记录集 其中包含当前页面查询中的某个记录子集 从我在 StackOverflow 上发现的另一个问题 抱歉 我丢失了链接 我发现我们是这样进行分页的
  • 在哪里可以找到有关 SharePoint 的优质编程资源? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直试图找到一本书籍或 Web 参考资料 让我更好地了解如何构建 测试 ASP NET 页面 控件和 Web 部件并将其部署到 Shar
  • 防止移动 unique_ptr C++11

    有什么方法可以阻止用户显式获取唯一指针的所有权 std move Make it const The unique ptr移动构造函数需要一个非常量右值引用 因此不能用 a 调用const object const unique ptr
  • Django ORM 中 select_lated 和 prefetch_lated 有什么区别?

    在 Django 文档中 select related https docs djangoproject com en stable ref models querysets select related 遵循 外键关系 在执行查询时选择其
  • 在 Python 中缩小和合并 PDF

    我正在尝试将两个 A4 PDF 页面缩小并合并为一个 A4 页面 这样如果我有的话 p1 p2 我会得到 p1 p2 作为一个新的 PDF 其中一页有两个 A5 大小的页面 类似于在纸上每页打印两页的方式 我调查过pypdf https p
  • 当文本框中未填充任何内容时,将 mvvm WPF 中的属性设置为 null

    我实现了一个文本框 它绑定到一个视图模型 例如 我在文本框中默认填写 100 但如果我将其更改为 10 则该属性始终设置正确 但是当我删除所有数字时 我希望该属性设置为空 但它只是在没有填写任何内容时不设置该值 他只是保留最后一个值 这是我