在最後一行中顯示:爲什麼實例化的對象被視爲不是?
// Dynamically add Grid with 8 columns to the StackPanel
Grid grd = new Grid();
ColumnDefinition c0 = new ColumnDefinition();
c0.Width = new GridLength(1, GridUnitType.Star);
. . .
grd.ColumnDefinitions.Add(c0);
. . .
// Add it to the StackPanel
spNufan.Children.Add(grd); // <- ka-pow!
...我得到的, 「System.NullReferenceException是不設置到對象的實例未處理消息=對象引用。」
然而「GRD 「在線創建的:
Grid grd = new Grid();
...和spNufan(一個StackPanel)是在相應的XAML:
<StackPanel Name="spNufan"
Orientation="Vertical">
</StackPanel>
爲什麼錯誤?
在該行上放置一個斷點。依次將鼠標懸停在每個對象(包括屬性)上。哪一個是空的?查看有關解決這個問題 – 2012-02-15 21:56:34
如果添加Debug.Assert(spNufan!= null),會發生什麼情況;然後Debug.Assert(spNufan.Children);在那之後,這兩條線在拋出異常之前呢? – dgvid 2012-02-15 21:58:43
你在哪裏(何時)調用所有這些代碼?看起來GUI尚未創建。 – 2012-02-15 22:01:46