2011-07-11 11 views
0

MVVMパターンを使用して検索コントロールの再作成を行っています。現在の実装では、このコントロールを作成するための多くのコードビハインド作業を行います。WPF Toolkitデータグリッドが16K行のDataTableにバインドされるとクラッシュする

コントロールが結果性を有しているSearchControlViewModel、

public DataTable Results 
    { 
     get { return _results; } 
     set 
     { 
      _results = value; 
      OnPropertyChanged("Results"); 
      OnPropertyChanged("ShowResults"); 
     } 
    } 

にバインドされている私は

<wtk:DataGrid Name="ResultsGrid" 
      Grid.Row="4" 
      Grid.ColumnSpan="4" 
      Height="Auto" 
      AutoGenerateColumns="True" 
      ItemsSource="{Binding Path=.}" 
      DataContext="{Binding Path=Results}" 
      CanUserAddRows="False" 
      CanUserDeleteRows="False" 
      IsReadOnly="True" 
      AutoGeneratedColumns="ResultsGrid_AutoGeneratedColumns" 
      VerticalScrollBarVisibility="Auto"/> 

SearchControl.xaml

にWPF Toolkitのデータグリッドを持っている。これは、小さなデータセットのため正常に動作しますが、 16K +行のデータテーブルが与えられたときにクラッシュします。これは本質的に現在実装されているもののペースト再現のコピーです。主な違いは、コードビハインドで設定するのではなく、バインドを介してDataGridのデータコンテキストを適用することです。

ありがとうございました。

+0

例外の詳細?スタックトレース? – Jay

+0

Protip:DataTableの16k行が不正です。これが私たちが "ページング"を持っている理由です。 – Will

+0

@Jay:最終的に、アプリケーションはOutOfMemoryExceptionをスローします。私はそれを実行させて、それがクラッシュするとトレース(もしあれば)を投稿します。 – Tyler

答えて

0

親のデータグリッドが適切に含まれていないため、縦のサイズ制限がありませんでした。すべての行が表示されていて、仮想化が発生していませんでした。

関連する問題