【发布时间】:2011-06-10 17:59:03
【问题描述】:
所以事情是这样的:我有两个用于编辑数据的数据网格。一个编辑字符串数组,第二个编辑包含多个数据字段的对象数组(本质上是某种矩阵)。
由于某种原因,当我单击第一个数据网格(用于字符串数组)以编辑特定单元格时,如果我单击数据网格外部的其他位置(例如,外部按钮)退出编辑,界面会挂起,并且然后 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;
}
这失败了。
【问题讨论】:
-
btw - 有时当我编辑字段时,在退出编辑模式后,整个屏幕就会变成空白。关于实现的一些信息,我在第一个数据网格(带有字符串数组)上实现了 CellEditEnding 事件,在第二个数据网格上实现了 RowEditEnding 事件。
标签: .net silverlight silverlight-4.0 datagrid