当编辑中的数据网格失去焦点时,silverlight崩溃

时间:2011-01-17 22:12:20

标签: .net silverlight silverlight-4.0 datagrid

所以这样的事情:我有两个数据网格用于编辑数据。一个编辑一个字符串数组,第二个编辑包含多个数据字段的对象数组(因此,基本上是某种矩阵)。

出于某种原因,当我点击第一个数据网格(用于字符串数组)来编辑特定单元格时,如果我单击数据网格外部的其他位置(例如,外部的按钮)以退出编辑,则界面将挂起,并且然后Chrome(或IE)崩溃。即使我在VS中以调试模式运行应用程序,也没有抛出任何错误。

有谁知道如何捕捉这个错误?

MainPage.xaml中的

<sdk:DataGrid AutoGenerateColumns="True" Canvas.Left="14" Canvas.Top="88" Height="165" Name="ObjectsGrid" Width="196" KeyDown="ObjectsGrid_KeyDown" CellEditEnding="ObjectsGrid_CellEditEnding">
MainPage.xaml.cs中的

private void ObjectsGrid_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Delete)
        {
            if (ObjectsGrid.SelectedItem != null)
            {
                ArrayOfString s = (ArrayOfString)ObjectsGrid.ItemsSource;
                s.Remove((String)ObjectsGrid.SelectedItem);
                ObjectsGrid.ItemsSource = null;
                ObjectsGrid.ItemsSource = s;
            }
        }
    }

private void ObjectsGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
    {
        DataGrid tGrid = (DataGrid)sender;
        String c = ((TextBox)e.EditingElement).Text;

        HashtableCollection[_currentCorrespondingItem].DataBoundObject[tGrid.SelectedIndex] = c;
    }

这是失败的。

1 个答案:

答案 0 :(得分:0)

是否可以访问HitsGrid_CellEditending?如果是这样,请在{DataGrid tGrid之前'放置一个括号,并按住F11直到出现错误。如果你到达任何。如果没有错误引发,我只能假设您在HintsGrid_CellEditEnding中执行的操作会清除您的数据网格甚至应用程序。