首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制绑定更新Silverlight

强制绑定更新Silverlight
EN

Stack Overflow用户
提问于 2010-04-17 05:41:48
回答 2查看 10.7K关注 0票数 16

如何强制更新我的对象DataContext绑定?我在一个网格上使用了一个事件,在我的事件触发之前,绑定更新不会被处理。

有什么便宜的小窍门来解决这个问题吗?最后,我总是可以用旧的手工方式从我的文本框中获取值并更新我的对象,但让绑定为我做这件事会很好。

更新

我的网格包含两个文本框。如果用户单击网格(MouseButtonUp事件),我将保存更改。但是在我的MouseButtonUp事件处理程序中,datacontext还不是最新的。我想这是因为文本框只在焦点丢失时才会更新。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-19 15:51:52

您可以通过在绑定上调用UpdateSource()方法来强制更新源绑定。尝试在保存之前将其添加到MouseButtonUp事件处理程序中。

如下所示:

代码语言:javascript
复制
BindingExpression binding = FirstTextBox.GetBindingExpression(TextBox.TextProperty)
if (null != binding) binding.UpdateSource();

你可以在MSDN:http://msdn.microsoft.com/en-us/library/system.windows.data.bindingexpression.updatesource(VS.95).aspx上找到更多关于这个的信息

票数 31
EN

Stack Overflow用户

发布于 2012-06-20 21:34:25

或者,你也可以捕获TextInput事件(当用户在文本框内按回车键时会触发),然后将焦点切换到第二个textBox。松开焦点将更新绑定的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2656254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档