根据 WPF 中的 TextBox 文本属性启用/禁用按钮?

2024-02-07

我正在通过谷歌寻找代码,该代码可以根据文本框中的文本属性启用和禁用按钮。如果文本框有一些文本,则应启用按钮,否则应禁用按钮。

我得到了一些代码,但是 xaml 中的代码,但没有 c# 。我无法理解它是如何工作的。

请帮助我理解以下代码的行为:

<TextBox Name="txtName" Width="100" Height="30"></TextBox>

<Button Content="Add Name " Width="100" Height="30" 
  IsEnabled="{Binding ElementName=txtName, Path=Text.Length, Mode=OneWay}"/>

IsEnabled 按钮属性如何工作?如何将 true 和 false 设置为 IsEnabled 属性?什么是路径?它是如何工作的?


This article http://msdn.microsoft.com/en-us/magazine/cc163299.aspx and article https://msdn.microsoft.com/en-us/library/ms752347(v=vs.90).aspx解释 WPF 数据绑定以及路径如何工作。

但上面的绑定将监视 TextBox 上的 Text 属性是否发生更改。然后,它将监视从 Text 属性返回的值的 Length 属性,该值是一个字符串。 Length 属性的值将传递给 IsEnbled 属性。

当您将 Int32(Length 属性)分配给 Boolean(IsEnabled 属性)时,该值也必须进行转换。这通常是通过类型转换器完成的,这就是上面的工作原理(这让我感到惊讶)。

UPDATE:

上面的第一个链接不再有效,因为 2008 年之前的 MSDN 杂志文章不再在线提供。不过,它们可以作为 CHM 文件提供。标题为“数据点:WPF 中的数据绑定”的相关文章的 CHM 链接为:

http://download.microsoft.com/download/3/a/7/3a7fa450-1f33-41f7-9e6d-3aa95b5a6aea/MSDNMagazine2007_12en-us.chm http://download.microsoft.com/download/3/a/7/3a7fa450-1f33-41f7-9e6d-3aa95b5a6aea/MSDNMagazine2007_12en-us.chm

来自 MSDN:

2008 年及更早的期刊仅以 .chm 文件形式提供。在大多数版本的 Windows 上,您必须首先将这些文件保存到本地计算机,然后取消阻止文件才能读取它。要取消阻止文件,请右键单击该文件,选择属性,然后选择“取消阻止”按钮。然后内容将可供阅读。

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

根据 WPF 中的 TextBox 文本属性启用/禁用按钮? 的相关文章

随机推荐

  • MVC 验证在 Knockoutjs 帖子中丢失

    我正在使用 MVC4 和淘汰赛 我的页面上有一个强类型化到视图模型的表单 在该视图模型中 我定义了一些验证 例如 Required ErrorMessage Title is required public string Title get
  • 文本框失去焦点后如何调用函数

    我没有 Javascript JQuery AJAX 的经验 所以我试图了解是否可以在文本框失去焦点后调用在我的数据库上执行查询的函数 我在页面中显示一个表 使用 PHP 其中的文本框包含与数据库上的表相同的值 当有人更改文本框上的值时 我
  • Android studio gradle org.gradle.process.internal.ExecException

    我的等级是 apply plugin com android application android compileSdkVersion 23 buildToolsVersion 23 0 2 defaultConfig applicati
  • 在 Ubuntu 14.04 上运行没有 sudo 的 docker [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我尝试设置 Docker 这样我就不必输入sudo在使用它之前 我采取的步骤 我首先创建一个 docker 组sudo groupadd
  • 用Python永久存储字典的优雅方法?

    目前解析文件的成本很高 该文件会生成约 400 个键值对的字典 并且很少更新 以前有一个函数可以解析文件 以字典语法将其写入文本文件 即dict Adam Room 430 Bob Room 404 等 并将其复制并粘贴到另一个函数中 该函
  • 如何使用 google customsearch API 查询高级搜索?

    我如何以编程方式使用 Google Python 客户端库执行高级搜索 https www google ca advanced search用Google自定义搜索API搜索引擎以返回第一个列表n基于我查询的高级搜索的某些术语和参数的链接
  • 天文应用

    我正在尝试构建一个天文学应用程序 在其中我应该显示给定纬度 经度和时间的天顶处和天顶附近的星星 我了解位置天文学的基础知识 令我困惑的是如何用大量数据创建数据库 我的查询是 更喜欢哪个目录 喜欢依帕谷目录或亨利 德雷珀 它的优点和缺点是什么
  • Java控制台程序

    我想知道如何制作一个Java控制台程序 我使用 Eclipse 作为 IDE 正在寻找类似于 C 版本的控制台程序的东西 尝试 Google 但只找到导出到 JAR 并从命令行执行的解决方案 我更喜欢在控制台窗口中编译并直接测试 提前致谢
  • JavaScript 文本操作

    使用 JavaScript 我想用一些文本替换 anytext 之间的任何文本 我想让它通用 所以我想使用正则表达式 我该怎么做 示例 replace hello Hi 尝试这个 str replace g Hi 这将删除任何序列 全球范围
  • jquery 中 $('selector')[0] 和 $('selector').eq(index) 之间的区别。

    有什么区别 div1 a 0 and div1 a eq 0 对于以下标记 div a href click a div 请帮忙 div1 a 0 返回对 DOM 元素的直接引用 div1 a eq 0 返回一个 JQuery 对象 htt
  • 删除tinyMCE中多余的p标签

    当您从 Word 文档复制并粘贴到 tinyMCE 编辑器时 有时会出现不需要的内容 p tags p p nbsp p div class starpasspro example question p strong Example Lev
  • javascript - 检测到浏览器/选项卡关闭时发出警报

    我有这个代码 当我单击链接 or refresh or 关闭选项卡 但我需要警惕only on close窗口 选项卡 这个怎么做 我的网站上有许多外部和内部链接
  • 如何通过命令行构建Windows 10 appxupload(准备提交存储)包

    尝试使用 msbuild 命令行作为msbuild App1 sln t Publish p Configuration Release并按照中所述进行了尝试http blogs msdn com b wsdevsol archive 20
  • 向后播放 CABasicAnimation 后 CALayer 消失

    我有一个 CALayer 并向其中添加了一个 CABasicAnimation 如下所示 circle CALayer circle frame CGRect x 0 y 0 width 100 height 100 circle back
  • 在 OpenIddict 中处理请求时发生未处理的异常

    所以 我正在尝试实现 OpenIddict 版本1 0 0 beta2 0580 with NET core 1 1我收到以下错误 An unhandled exception occurred while processing the r
  • 如何从上到下逐步显示 ImageView

    有没有办法从上到下逐步显示 ImageView 像这样 抱歉动画很糟糕 我对 android 动画不太熟悉 但一种 有点黑客 方法是将图像包装在ClipDrawable并为其设置动画level价值 例如
  • 在模板 Vue 中插入脚本标签

    我正在创建一个集成支付服务 支付服务为我提供了form里面有一个脚本标签 我想在我的组件模板中插入带有脚本标签的表单 但是 vue 不允许在模板中插入标签脚本 如何在模板组件中插入带有脚本标签的表单 结账表格支付服务
  • Asus MeMO Pad 没有驱动程序可以使用 eclipse 进行应用程序调试

    我有同样的问题 如下所示SO post https stackoverflow com questions 15029581 asus memo pad debug for android apps 我得到了一个新的 Asus Memo P
  • 如果数组为 NULL,则不会出现“未定义的偏移量”

    我不确定这是一个错误 所以任何人都可以告诉为什么如果您尝试访问未定义为 NULL 的数组的键 php 不显示通知吗 文件说 Converting NULL to an array results in an empty array 因此 访
  • 根据 WPF 中的 TextBox 文本属性启用/禁用按钮?

    我正在通过谷歌寻找代码 该代码可以根据文本框中的文本属性启用和禁用按钮 如果文本框有一些文本 则应启用按钮 否则应禁用按钮 我得到了一些代码 但是 xaml 中的代码 但没有 c 我无法理解它是如何工作的 请帮助我理解以下代码的行为