2016-04-19 23 views
0

私はWindowUserControlのWPFプロジェクトを持っています。WPF UserControlはロード時にNullReferenceExceptionをスローします

"The object reference not set to an object"

データの40行を返すクエリにもかかわらず:私はgridcontrol.ItemsSource = query.tolist()を使用GridControl.ItemsSourceを設定するが、Usercontrolをロードするとき、それはExceptionをスローUsercontrol

コードはMainWindowで実行されますが、UserControlは例外をスローします。

+0

は、あなたはそれがエラーを投げている場所を確認するために引くポイント/破損したりしてみてくださいしようとしたことがありますか? – Blinx

+0

あなた親愛なる友人私はそれがグリッドcontrol.itemsource = query.tolist()を削除した場合私はuserControl.but calを空にしたときにエラーをスローしました空のgridcontrolで任意の問題とusercotrolの負荷を持っています – pooooooneh

+0

あなたがブレークモード、あなたは各値をテストし、いずれかがnullであるかどうか確認できますか?グリッドコントロールとクエリの両方。 – Joe

答えて

2

質問に対するコメントから会話を統合:

NullReferenceExceptiongridcontrolとして

gridcontrol.ItemsSource = query.ToList(); 

ラインにスローされますがnullです。このExceptionの詳細については

、私は問題の行はコンストラクタでInitializeComponent()への呼び出しの前にあることを推測しているWhat is a NullReferenceException, and how do I fix it?

を参照してください。

このメソッドは、UserControlのすべてのコントロールを初期化します。したがって、このメソッドを呼び出す前にControlを使用しようとすると、NullReferenceExceptionがスローされます。あなたが見たいと思う何

は次のとおりです。

public YourUserControl() 
{ 
    InitializeComponent(); 
    gridcontrol.ItemsSource = query.ToList(); 
} 
+0

ありがとうalot 私はそれをし、今私のgridcontrol works.iは、同じエラーを持ってコレクションビューのソースを持っていますcollectionviewsourceはnullであり、コードを初期化した後に設定します:collectionviewsource.source = observablecollection() – pooooooneh

+0

ObservableCollection _Personnel =新しいObservableCollection (); CollectionViewSource PersonCollection = new CollectionViewSource(); DevExpress.Xpf.Docking.DockLayoutManager dockmanager; public UC_Personnel(DevExpress.Xpf.Docking.DockLayoutManager _dockManager){ InitializeComponent(); PersonCollection =(CollectionViewSource)this.Resources ["MyResource"]; this.dockmanager = _dockManager; this._Personnel = new ObservableCollection (context.Personnels); PersonCollection.Source = this.Personnel; } – pooooooneh

+0

最初の問題が修正されてうれしく思います。この新しい問題は、リソースを正しく解析していない可能性があります。私は本当にこれ以上のことは言わない。あなたは新しい質問を提起することを検討したいかもしれません。 – Blinx

関連する問題