C# WPF中的背景属性问题

C# WPF中的背景属性问题,c#,wpf,C#,Wpf,WPF控件分为多个篮子。有些控件属于System.Windows.controls命名空间,而另一些则属于Panel和其他内容。我对将控件作为面板或控件类型获取感兴趣,这样我就可以更改Background属性。以下代码不起作用: var element = ((sender as Panel) ?? (sender as Control)); 编译器无法从您提供的表达式推断元素的类型。不幸的是,“神奇”关键字仍然是静态(在编译时)解析的,您可能会想到的是新的C#4.0关键字 否则,除了 Pan

WPF控件分为多个篮子。有些控件属于System.Windows.controls命名空间,而另一些则属于Panel和其他内容。我对将控件作为面板或控件类型获取感兴趣,这样我就可以更改Background属性。以下代码不起作用:

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

编译器无法从您提供的表达式推断
元素的类型。

不幸的是,“神奇”关键字仍然是静态(在编译时)解析的,您可能会想到的是新的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