WPF中的背景属性问题

aza*_*arp 0 c# wpf

WPF控件分为不同的篮子.有些控件属于System.Windows.Controls命名空间,其他属于Panel和其他东西.我有兴趣将控件作为Panel或Control类型,以便我可以更改Background属性.以下代码无效:

var element = ((sender as Panel) ?? (sender as Control));
Run Code Online (Sandbox Code Playgroud)

Ken*_* K. 6

不幸的是,"神奇的" var关键字仍然静态地(在编译时)被解析,你可能会想到的是新的dynamicC#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
Run Code Online (Sandbox Code Playgroud)