【问题标题】:Silverlight Datagrid and browser close problemSilverlight Datagrid 和浏览器关闭问题
【发布时间】:2010-12-15 14:27:19
【问题描述】:

我认为一个简单的 Silverlight 应用程序存在一个愚蠢的问题,其中包含一个数据网格。我的专栏之一允许用户编辑当天的出勤人数。如果用户在编辑后点击/单击,则所有内容都已保存并且绑定合同良好,但如果数据网格编辑框具有焦点并且用户关闭浏览器,则数据库中的数据不会更新。我通过标准 wcf ria 服务使用带有可观察集合的 Silverlight 4。

任何想法我能做什么?

【问题讨论】:

    标签: silverlight datagrid


    【解决方案1】:

    在您的 App.xaml.cs 中有一个 Application_Exit() 函数。该函数是在用户关闭浏览器时启动的事件。

    在该方法中,像这样通过 RootVisual 检索您当前打开的窗口:

    private void Application_Exit(object sender, EventArgs e)
    {
       if (this.RootVisual is MySLApp.MainPage)
       {
          MySLApp.MainPage theMainPage = (MySLApp.MainPage)this.RootVisual;
    
          theMainPage.myGrid.Commit() // OR SOMETHING LIKE THAT I DONT THINK THE COMMIT EXISTS :)
       }
    
    }
    

    【讨论】:

    • 这似乎不起作用。关闭浏览器时似乎没有调用 application.exit 事件。
    • 尝试放一个MessageBox.Show("");在 Application_Exit() 中查看它是否被调用。在我的测试 probject 中它可以工作(使用框架 4.0)
    • 是的,我收到了应用程序退出事件,我正在调用 datagrid.commitedit();即使我在提交调用后放了一个消息框以减慢异步处理,它也无法应用我的编辑。我错过了什么吗?
    • 我追踪到它甚至在我的网络服务中访问了我的 updateRecordAsync 调用,但它仍然没有更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 2012-05-28
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多