【wpf】如果让Bingding 如何让后台数据强制更新界面
前言
这里讲的不是简单的后台数据通知前台变换,而是在一段代码中,我的一个属性发生多次变化,前台也必须发生多次变化。
需求
我调用http,有个接收返回值的TextBox,但是我想在点击Post按键一开始就清理掉TextBox的显示,然后最后将接收值赋值给TextBox。
也就是在一段代码中我两次操作TextBox(通过bindding的方式),但是你会发现,第一次的清空是无效的。
解决方案
所以我需要这么做:
public static class DispatcherHelper{[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]public static void DoEvents(){DispatcherFrame frame = new DispatcherFrame();Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(ExitFrames), frame);try { Dispatcher.PushFrame(frame); }catch (InvalidOperationException) { }}private static object ExitFrames(object frame){((DispatcherFrame)frame).Continue = false;return null;}}
然后这么写:
//之前清除返回值, 这样写可以让清楚立即生效System.Windows.Threading.Dispatcher.CurrentDispatcher.Invoke(new Action(() => {Response = "";}));DispatcherHelper.DoEvents(); // 强制更新显示
这样写清除才会立即生效。Response 和前台的TextBox是双向绑定的关系。
完整代码:
BtnGetCMD = new DelegateCommand<string>((content_type) => {//之前清除返回值, 这样写可以让清楚立即生效System.Windows.Threading.Dispatcher.CurrentDispatcher.Invoke(new Action(() => {Response = "";}));DispatcherHelper.DoEvents(); // 强制更新显示 string url = System.IO.Path.Combine(ipAddr, subPath);if (string.IsNullOrEmpty(url)){MessageBox.Show("请输入url");return;}string body = request;string result = rqh.Get(url, content_type);//显示返回值Response = result;
});
结果展示
![](/assets/blank.gif)
好了,如果对你有帮助,请点个赞~~~
【wpf】如果让Bingding 如何让后台数据强制更新界面相关推荐
- [WPF 基础知识系列] —— 绑定中的数据校验Vaildation
[WPF 基础知识系列] -- 绑定中的数据校验Vaildation 原文:[WPF 基础知识系列] -- 绑定中的数据校验Vaildation 前言: 只要是有表单存在,那么就有可能有对数据的校验需 ...
- 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...
- ________________2058_______________后台数据不够。可能误判。
//正确的代码. #include<stdio.h> #include<math.h> int main() {__int64 n,m,i,j,s,l,l1;while(sca ...
- php后台数据显示到前端,php,前端_怎么在javascript中得到后台数据?,php,前端,javascript,highcharts - phpStudy...
怎么在javascript中得到后台数据? 最近在研究在网页中嵌入hightchart的表格 在嵌入时发现需要在javascript中得到后台的一组数据 代码如下 require_once('incl ...
- Django 前台通过json 取出后台数据
转载自:https://my.oschina.net/esdn/blog/814111 步骤1:后台数据通过 JSON 序列化成字符串 注意:1.json是1个字符串 2.通过json.dumps(' ...
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法 参考文章: (1)jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法 ( ...
- 若依前后端分离版怎样修改主页面显示请求的SpringBoot后台数据
场景 使用若依的前后端分离版,本来的首页效果是 现在如果要根据具体业务实现从后台获取要显示的数据实现类似下面的效果 注: 博客: https://blog.csdn.net/badao_liumang ...
- java ajax实现分页代码,jQuery实现分页功能(含ajax请求、后台数据、附完整demo)...
需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容,当前页面为第 ...
- echarts如何获取后端的值_Echarts 获取后台数据 使用后台数据展示 柱形图
后台数据要以json格式返回 页面:引用echarts.js , 然后data以ajax的数据请求并返回 String path = request.getContextPath(); String ...
最新文章
- RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
- 【Animations】使用缩放动画放大视图(7)
- 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
- 1使用帝国cms开发微信小程序之开发前的约定
- 用dos命令给mysql数据库新建表
- connect 超时
- java 读 xml_Java读写XML代码示例
- NeurIPS 2021 | 简单且通用的多视图对比图聚类方法
- 使用Actuator检查与监控
- Kubernetes 1.2新功能解析:使用Deployment
- 第十六节:ES6新增的 Set 和 WeakSet 是什么东西?
- 丘成桐中学计算机科学奖,丘成桐中学科学奖
- mysql注入扫描网站漏洞工具_网站安全检测,高手必备几款SQL注入工具
- 汽车之家口碑数据的爬虫
- vue 对象提供的属性功能、通过axio请求数据(2)
- 表格操作系列——字段名与字段别名的获取
- 土豆皮,蒜苗长短,胡萝卜
- 新版Jenkins关闭CSRF“HTTP ERROR 403 No valid crumb was included in the request“
- 红米5双清_红米5刷recovery教程_红米5第三方中文recovery下载
- 【软件质量】软件完整性
热门文章
- ed302安兔兔版main.31.com.antutu.ABenchMark.fix23下载安装使用教程
- 网页版2048html制作,基于HTML+CSS+JS的网页版2048的实现
- u盘里删除的文件可以恢复吗?分享解决方法
- 一文读懂多帧超分辨率来龙去脉2019
- Linux中的0.0.0.0和 ::
- Android小心心动画
- 力争群雄:2012年度IT博客大赛100强脱颖而出
- linux的ping命令含义,Linux ping命令详解
- 小米oj和为零的三元组
- w锋ndows用户组设置,第2章Wndows+Server+2008本地用户和组.ppt