2009-07-14 121 views
0

WPF控件分爲多個籃子。一些控件屬於System.Windows.Controls命名空間,其他屬於Panel和其他東西。我有興趣將控件作爲面板或控件類型獲取,以便我可以更改背景屬性。以下代碼不起作用:WPF中的背景屬性問題

var element = ((sender as Panel) ?? (sender as Control)); 

回答

6

不幸的是,「神奇的」var關鍵字仍然是靜態的(在編譯時)解決,您可能會想到的是新的dynamic C#4.0關鍵字。

否則,有沒有其他辦法做到這一點以外

Panel panelElement = sender as Panel; 
Control controlElement = sender as Control; 

if(panelElement != null) 
    //do stuff for panel 
else if(controlElement != null) 
    //do stuff for control 
1

編譯器無法從您提供的表達式中推斷出element的類型。