首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WPF中刷新绑定?

在WPF中刷新绑定,可以通过以下几种方法:

  1. 使用Binding.UpdateTarget()方法:

首先,需要获取绑定表达式,然后调用UpdateTarget()方法。例如:

代码语言:csharp
复制

BindingExpression bindingExpression = textBox.GetBindingExpression(TextBox.TextProperty);

bindingExpression.UpdateTarget();

代码语言:txt
复制
  1. 使用BindingOperations.GetBinding()BindingOperations.GetMultiBinding()方法:

如果绑定是单向或双向的,可以使用BindingOperations.GetBinding()方法;如果绑定是多重的,可以使用BindingOperations.GetMultiBinding()方法。例如:

代码语言:csharp
复制

Binding binding = BindingOperations.GetBinding(textBox, TextBox.TextProperty);

BindingExpression bindingExpression = BindingOperations.GetBindingExpression(textBox, TextBox.TextProperty);

bindingExpression.UpdateTarget();

代码语言:txt
复制
  1. 使用DependencyObject.SetCurrentValue()方法:

可以使用SetCurrentValue()方法,将属性设置为当前值,从而触发绑定更新。例如:

代码语言:csharp
复制

textBox.SetCurrentValue(TextBox.TextProperty, textBox.Text);

代码语言:txt
复制
  1. 使用DependencyProperty.UnsetValue

可以使用DependencyProperty.UnsetValue来清除绑定,然后重新设置绑定。例如:

代码语言:csharp
复制

textBox.SetValue(TextBox.TextProperty, DependencyProperty.UnsetValue);

textBox.SetValue(TextBox.TextProperty, "New value");

代码语言:txt
复制
  1. 使用CommandManager.InvalidateRequerySuggested()方法:

如果绑定的是命令,可以使用CommandManager.InvalidateRequerySuggested()方法强制更新命令。例如:

代码语言:csharp
复制

CommandManager.InvalidateRequerySuggested();

代码语言:txt
复制

以上是在WPF中刷新绑定的常用方法。在实际开发中,可以根据具体需求选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF何在绑定失败异常

在开发 WPF 程序,虽然 xaml 很好用,但是经常会出现小伙伴把绑定写错了。因为默认的 VisualStudio 是没有自动提示,这时很容易复制粘贴写出一个不存在的属性。...在 xaml 如果绑定失败了,那么内部会有一个异常,但是 WPF 不会把这个异常抛出来,这个异常也不会让用户拿到,只是会在输出窗口提示。...但是异常会影响性能,而且会让界面和设计的不一样,所以我就想在找到绑定异常就抛出,弹出窗口告诉小伙伴。 本文会告诉大家如何找到绑定失败,并且抛出异常,如何防止修改属性名让xaml绑定失败。...,是的,让我来告诉大家如何拿到输出 转发绑定 因为绑定失败输出是使用 Trace ,关于 Trace 请看WPF 调试 获得追踪输出 那么如何拿到 Trace 的输出?...修改变量名 如果需要调试 Binding ,参见 WPF

1.3K20

WPF何在绑定失败异常

在开发 WPF 程序,虽然 xaml 很好用,但是经常会出现小伙伴把绑定写错了。因为默认的 VisualStudio 是没有自动提示,这时很容易复制粘贴写出一个不存在的属性。...在 xaml 如果绑定失败了,那么内部会有一个异常,但是 WPF 不会把这个异常抛出来,这个异常也不会让用户拿到,只是会在输出窗口提示。...但是异常会影响性能,而且会让界面和设计的不一样,所以我就想在找到绑定异常就抛出,弹出窗口告诉小伙伴。 本文会告诉大家如何找到绑定失败,并且抛出异常,如何防止修改属性名让xaml绑定失败。...,是的,让我来告诉大家如何拿到输出 转发绑定 因为绑定失败输出是使用 Trace ,关于 Trace 请看WPF 调试 获得追踪输出 那么如何拿到 Trace 的输出?...修改变量名 如果需要调试 Binding ,参见 WPF

2.3K10
  • 【翻译】WPF的数据绑定表达式

    有很多文章讨论绑定的概念,并讲解如何使用StaticResources和DynamicResources绑定属性。这些概念使用WPF提供的数据绑定表达式。...在本文中,让我们研究WPF提供的不同类型的数据绑定表达式。 介绍 数据绑定是一种强大的技术,它允许数据在UI元素和业务模型之间流动。当业务模型的数据发生变化时,它会自动将更改反映到UI元素上。...2.1 Self Self用于绑定源和绑定目标相同的场景。对象的一个属性与同一对象的另一个属性绑定。 例如,让我们取一个高度和宽度相同的椭圆。 在XAML文件添加下面给出的代码。...在这个例子,我想显示属性“EnglishName”的值。 为此,绑定TextBlock的Text属性,如下所示。...结论 我已经详细介绍了所有的数据绑定表达式。我希望这有助于您理解绑定的概念和WPF提供的表达式。 ---- ❝时间流水,只能流去不流回。

    2K10

    【翻译】WPF的数据绑定表达式

    有很多文章讨论绑定的概念,并讲解如何使用StaticResources和DynamicResources绑定属性。这些概念使用WPF提供的数据绑定表达式。...在本文中,让我们研究WPF提供的不同类型的数据绑定表达式。 介绍 数据绑定是一种强大的技术,它允许数据在UI元素和业务模型之间流动。当业务模型的数据发生变化时,它会自动将更改反映到UI元素上。...2.1 Self Self用于绑定源和绑定目标相同的场景。对象的一个属性与同一对象的另一个属性绑定。 例如,让我们取一个高度和宽度相同的椭圆。 在XAML文件添加下面给出的代码。...在这个例子,我想显示属性“EnglishName”的值。 为此,绑定TextBlock的Text属性,如下所示。...结论 我已经详细介绍了所有的数据绑定表达式。我希望这有助于您理解绑定的概念和WPF提供的表达式。

    2.5K30

    WPF何在子线程或其他类操控控件

    问题 一开始使用WPF界面的时候,会有这样的需求就是在后台更新控件,以完成列表更新,计时器,进度条等功能,但WPF这边架构限制,决定子线程是不安全的,如果创建子线程直接操作控件就会出错。...要访问其他WPF表单的控件,您必须将该控件声明为公共控件。...WPF控件的默认声明是公共的,但是您可以使用以下代码指定它: 之后,您可以在应用程序的所有活动窗口中搜索以找到具有此类控制功能的窗口...).textBox1.Text ="我从另一个窗口更改了它"; } } 实例:C#通过事件跨类调用WPF主窗口中的控件 xaml.cs文件: using System; using System.Timers...Monitor静态类的PartEvent事件

    2K10

    何在 Ubuntu 创建网络绑定和桥接?

    在 Ubuntu 操作系统,创建网络绑定和桥接是一种常见的网络配置方式,它允许多个网络接口协同工作,提供更高的网络性能和可用性。...本文将详细介绍如何在 Ubuntu 创建网络绑定和桥接,以便您能够轻松地配置和管理网络连接。...步骤三:创建网络绑定打开网络配置文件 /etc/network/interfaces:sudo nano /etc/network/interfaces在文件添加以下内容来创建网络绑定:auto bond0iface...br0 inet dhcp bridge_ports bond0在上述代码,br0 是网络桥接的名称,您可以根据需要进行更改。...结论通过本文的指导,您已学会在 Ubuntu 创建网络绑定和桥接。这种网络配置方式可以提高网络性能和可用性,使多个网络接口协同工作。

    65110

    何在 Ubuntu 创建网络绑定和桥接?

    在 Ubuntu 操作系统,创建网络绑定和桥接是一种常见的网络配置方式,它允许多个网络接口协同工作,提供更高的网络性能和可用性。...本文将详细介绍如何在 Ubuntu 创建网络绑定和桥接,以便您能够轻松地配置和管理网络连接。...步骤三:创建网络绑定打开网络配置文件 /etc/network/interfaces:sudo nano /etc/network/interfaces在文件添加以下内容来创建网络绑定:auto bond0iface...br0 inet dhcp bridge_ports bond0在上述代码,br0 是网络桥接的名称,您可以根据需要进行更改。...结论通过本文的指导,您已学会在 Ubuntu 创建网络绑定和桥接。这种网络配置方式可以提高网络性能和可用性,使多个网络接口协同工作。

    88200

    何在原生微信小程序实现数据双向绑定

    官网:https://qiu8310.github.io/minapp/ 作者:Mora 在原生小程序开发,数据流是单向的,无法双向绑定,但是要实现双向绑定的功能还是蛮简单的!...下文要讲的是小程序框架 minapp 实现双向绑定的原理,在 minapp ,你只需要在 wxml 模板给组件的属性名后加上 .sync 就可以实现双向绑定。...用过 vue 的应该都知道,在 vue 要实现双向绑定,需要在模板做特殊处理。...,可以将上面的示例写成微信小程序支持的写法: <!...所以上面的 onSyncAttrUpdate setDataSmart 函数需要在每个组件中都实现,所以不防 定义一个公共对象 BaseComponent 来实现上面的所有功能,: // BaseComponent

    2.8K50

    WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 定义的属性也能使用绑定

    本文将给出解决方案,让你能够在任意的类型写出支持 XAML 绑定的属性;而不一定要依赖对象(DependencyObject)和依赖属性(DependencyProperty)。...在设计器也可以看到提示不能绑定。 ? ? 解决 实际上这个问题是能够解决的(不过也花了我一些时间思考解决方案)。 既然绑定需要一个依赖属性,那么我们就定义一个依赖属性。...在 Value 的 set 方法得到的 value 值是一个 Binding 对象,而不是正常依赖属性得到的绑定的结果;这意味着我们无法直接使用 Value 的值。...SetValue 我们需要自己考虑绑定对象,如果发现是绑定,那么就真的进行一次绑定。...CLR Object Binding In WPF wpf - MarkupExtension with binding parameters - Stack Overflow c# - Binding

    1.6K20

    【DB笔试面试511】如何在Oracle写操作系统文件,写日志?

    题目部分 如何在Oracle写操作系统文件,写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...image.png 其它常见问题如下表所示: 问题 答案 Oracle哪个包可以获取环境变量的值? 可以通过DBMS_SYSTEM.GET_ENV来获取环境变量的当前生效值。...在CLIENT_INFO列存放程序的客户端信息;MODULE列存放主程序名,包的名称;ACTION列存放程序包的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle写操作系统文件,写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

    28.8K30

    WPF 如何绑定附加属性?XAML 记得加括号,C# 记得不能用字符串

    WPF 如何绑定附加属性?XAML 记得加括号,C# 记得不能用字符串 在 XAML 绑定WPF 学习的必修课,进阶一点的,是用 C# 代码来写绑定。...然而一旦绑定的属性是附加属性,好多小伙伴就会开始遇到坑了。 本文将介绍如何在 XAML 和 C# 代码绑定附加属性。...在 XAML 绑定附加属性的时候需要加上括号和类型的命名空间前缀: <ListViewItem Content="{Binding (local:DraggableElement.IsDraggable...在 C# 代码<em>中</em><em>绑定</em>附加属性 上面在说明附加属性<em>绑定</em>的时候我特地额外写了一个不需要写命名空间的 XAML <em>绑定</em>附加属性的代码,这是为了说明接下来写 C# 代码时的注意事项。 是这样写吗?...在 C# 代码<em>中</em><em>绑定</em>附加属性,需要 使用依赖项属性,而不能使用字符串!

    2.7K10

    分享一篇详尽的关于如何在 JavaScript 实现刷新令牌的指南

    以下是应用程序如何在 Node.js 应用程序中使用 JWT 刷新令牌的示例: 用户登录到应用程序并将其凭据发送到身份验证服务器。 身份验证服务器验证凭据,生成 JWT 访问令牌和 JWT 刷新令牌。...以下代码示例展示了如何在 Python 脚本中使用刷新令牌来确保用户的无缝体验: 此示例使用 jwt 库来解码 JWT 访问令牌,并使用 requests 库发出 HTTP 请求。...,该模型映射到数据库刷新令牌集合。...在生产环境,建议使用Redis等分布式机制来处理黑名单。 代码示例:客户端使刷新令牌失效 在客户端,可以通过从客户端存储删除令牌并确保客户端不会再次使用该令牌来使刷新令牌失效。...以下是如何使用 JavaScript 使刷新令牌失效的示例: 在此示例,我们使用 localStorage 对象来存储和检索刷新令牌。

    33330

    WPF 的命令的自动刷新时机——当你 CanExecute 会返回 true 但命令依旧不可用时可能是这些原因

    WPF ,你可以使用 Command="{Binding WalterlvCommand}" 的方式来让 XAML 的一个按钮或其他控件绑定一个命令。...这本是一个非常智能的特性,直到你可能发现你按钮的可用性状态不正确…… 本文介绍默认情况下,WPF 在 UI 上的这些命令会在什么时机进行刷新;以及没有及时刷新时,可以如何强制让这些命令的可用性状态进行刷新...了解了这些,你可能能够解决你在 WPF 程序命令绑定的一些坑。 ---- This post is written in multiple languages....如何手动刷新命令 调用以下代码,即可让 WPF 的命令刷新其可用性: 1 CommandManager.InvalidateRequerySuggested(); WPF 的命令在何时刷新?...默认情况下,WPF 的命令只会在以下时机刷新可用性: KeyUp MouseUp GotKeyboardFocus LostKeyboardFocus 使用通俗的话来说,就是: 键盘按下的按键抬起的时候

    1.1K30
    领券