2011-01-17 19 views
0

このようなことが起こります。私はデータを編集するために2つのデータグリッドを持っています。 1つは文字列の配列を編集し、2つ目は複数のデータフィールドを含むオブジェクトの配列を編集します(基本的にはある種の行列です)。編集中のDataGridがフォーカスを失うとsilverlightがクラッシュする

何らかの理由で、特定のセルを編集するための最初のデータグリッド(文字列の配列)をクリックしたときに、編集を終了するためにデータグリッドの外側にある別の場所(例:ボタン)をクリックすると、 Chrome(またはIE)がクラッシュします。 VSでデバッグモードでアプリを実行しても、エラーはスローされませんでした。

誰でもこのバグを捜す方法を知っていますか? MainPage.xaml.csで

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

MainPage.xamlを中

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; 
    } 

、これが失敗しています。

+0

btw - 編集モードを終了した後にフィールドを編集すると、画面全体が空白になることがあります。実装に関する少しの情報で、最初のDataGrid(文字列の配列)でCellEditEndingイベントを実装し、2番目のDataGridでRowEditEndingイベントを実装しました。 – user367696

答えて

0

HitsGrid_CellEditendingになるのですか?その場合は、{DataGrid tGridの前に}を置き、エラーが発生するまでF11キーを押し続けます。あなたが何かに得るなら。エラーが発生しなければ、私はHintsGrid_CellEditEndingで実行しているアクションがデータグリッドまたはアプリケーションをクリアすることしか想定できません。

+0

グリッドの1つ(文字列の配列がバインドされているもの)のコードが含まれています。いずれかのフィールドを編集してグリッドの外側をクリックしようとすると、Silverlightがクラッシュします。 – user367696

+0

btwブレークは未処理では機能しませんでしたが、Silverlightアプリケーションは完全にVSに何も返さないことをハングアップしました(奇妙で、IEとChromeの両方にあります)。 – user367696

+0

User367696、現在仕事中です。あなたのプロジェクトについて私があなたのエラーについてさらに詳しい情報を見つけることができるかどうかを確認してください。 –

関連する問題