代码之家  ›  专栏  ›  技术社区  ›  Phil Bachmann

关闭浏览器时,Silverlight绑定的文本框将丢失数据

  •  3
  • Phil Bachmann  · 技术社区  · 17 年前

    当我使用双向绑定将一个文本框控件绑定到一个对象的字符串属性时,只要用户在关闭浏览器窗口/选项卡之前离开该控件,它就可以正常工作。

    但是,如果用户对文本框的内容进行了更改,然后关闭窗口以期望数据已被保存,那该怎么办?

    虽然可以挂入TeXchange事件或AppultIsExITE()处理程序并手动更新属性,但基本上是重新做绑定器的工作。不过,这些似乎是迄今为止唯一的解决办法。

    注意。WPF应用程序中的同一XAML/代码工作良好(App.OnEnter显示对象中的更新数据)。

    3 回复  |  直到 17 年前
        1
  •  1
  •   17 of 26    17 年前

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

    您可以使用一点javascript钩住html中的onunload,然后在silverlight代码中调用一个函数来处理它。

        2
  •  1
  •   Srdjan Jovcic    17 年前

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

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

        3
  •  0
  •   Matt Hamilton    17 年前

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

    <TextBox Text="{Binding Path=Foo,UpdateSourceTrigger=PropertyChanged}" />
    
    推荐文章