我想投WrapPanel鑄造和使用結果在一行
wp = (WrapPanel)topSP.Children[0];
wp.Children.Add(txtB1);
,這樣它看起來就像是
topSP.Children[0](WrapPanel).Add(txtB1);
這可能嗎?
我想投WrapPanel鑄造和使用結果在一行
wp = (WrapPanel)topSP.Children[0];
wp.Children.Add(txtB1);
,這樣它看起來就像是
topSP.Children[0](WrapPanel).Add(txtB1);
這可能嗎?
((WrapPanel)topSP.Children[0]).Children.Add(txtB1);
請注意,可能有更好的方法。但這應該工作。
裹投括號,你是好去 -
((WrapPanel)topSP.Children[0]).Children.Add(txtB1);
改變類型的另一種方法是這樣的:
(topSP.Children[0] as WrapPanel).Children.Add(txtB1);
這是不一樣的演員,彷彿topSP.Children[0]
不是WrapPanel
,這將拋出NullReferenceException
,如在那種情況下(topSP.Children[0] as WrapPanel) == null
。
真的嗎? Downvoted?請仔細解釋一下,爲什麼你低估了一個完全有效的答案? –
儘管我沒有對任何東西(既不是你的也不是Rohits)投票,我認爲你根據保羅的兩個班輪失蹤了一個'.Children'的等級。 – nvoigt
@nvoigt好的地方。看到你有同樣的問題:-)解決了這個問題。然而,並不是簡單的評論就足以讓它得到修復。 –
是你可以,但性能和鑄件的這一切的「鏈接」可以追空引用和索引超出範圍異常時,會導致大量的工作。將它們保持在不同的行上,並檢查是否存在空值和索引範圍。
因此,即使這可能工作:
((WrapPanel)topSP.Children[0]).Children.Add(txtB1);
它是更安全做到這一點:
if(topSP.Children.Count > 0)
{
var wrapPanel = topSP.Children[0] as WrapPanel;
if(wrapPanel != null)
{
wrapPanel.Children.Add(txtB1);
}
}
這種性能和鑄件的「鏈接」追空引用時,可能會導致大量的工作並索引超出範圍的例外。將它們保持在不同的行上,並檢查是否存在空值和索引範圍。 –