Data binding Silverlight绑定的文本框在浏览器关闭时丢失数据

Data binding Silverlight绑定的文本框在浏览器关闭时丢失数据,data-binding,silverlight-2.0,Data Binding,Silverlight 2.0,当我使用双向绑定将TextBox控件绑定到对象的string属性时,只要用户在关闭浏览器窗口/选项卡之前离开该控件,就可以正常工作 但是,如果用户更改了文本框的内容,然后关闭了窗口,希望数据已经保存,该怎么办 虽然可以挂接到TextChanged事件或应用程序_Exit()处理程序并手动更新属性,但实际上您正在执行绑定器的工作。然而,到目前为止,这些似乎是唯一的解决办法 注意。WPF应用程序中的相同xaml/代码工作正常(app.OnExit在对象中显示更新的数据)。Silverlight的绑定

当我使用双向绑定将TextBox控件绑定到对象的string属性时,只要用户在关闭浏览器窗口/选项卡之前离开该控件,就可以正常工作

但是,如果用户更改了文本框的内容,然后关闭了窗口,希望数据已经保存,该怎么办

虽然可以挂接到TextChanged事件或应用程序_Exit()处理程序并手动更新属性,但实际上您正在执行绑定器的工作。然而,到目前为止,这些似乎是唯一的解决办法


注意。WPF应用程序中的相同xaml/代码工作正常(app.OnExit在对象中显示更新的数据)。

Silverlight的绑定类是否具有UpdateSourceTrigger属性?在WPF中,您可以告诉控件在属性更改时(而不是控件失去焦点时)更新其绑定源,如下所示:

<TextBox Text="{Binding Path=Foo,UpdateSourceTrigger=PropertyChanged}" />

我在这里根据重要的web开发经验做出了一个有根据的猜测,但Silverlight的经验非常有限


您可以使用一些Javascript在HTML中钩住onunload,然后在Silverlight代码中调用函数来处理它。

这似乎是Silverlight的问题。在失去焦点之前,它不会更新文本框上的绑定属性


我必须使用的一个解决方法(我正在实现动态过滤器)是实现TextChanged事件处理程序并手动更新backing属性。

很好的尝试,我找不到文档,尝试时,页面根本没有加载。顺便说一下,我在一个WPF应用程序中测试了我的原始xaml/代码,它运行良好。Silverlight有一个页面卸载类型事件(app_exit),但这仍然需要手动检索控件数据。可能是迄今为止最好的工作了。