确定WPF元素类型

pri*_*kar 2 c# wpf

如何以编程方式确定WPF中的元素类型?

例如,我的xaml由文本框,单选按钮,组合,列表框等组成.

在加载事件中,假设我想做一些与控件相关的事情.(对所有文本框说,

前景色为红色,对于所有标签,背景色为绿色)

某种东西.

所以我必须循环遍历Xaml中存在的整个控件列表,然后必须

编写控件特定逻辑.

是使用Framework元素吗?

请在c#中给出代码.例如,请选择3/4控件.

我也在谷歌搜索!

提前致谢

小智 9

您可以使用:

if (element is Grid)
{
}
else if (element is Label)
...
Run Code Online (Sandbox Code Playgroud)


ben*_*rce 5

如果您只有有限数量的类型要检查,请使用"as"运算符进行尝试,然后检查null.

Button button = control as Button;
if (button != null)
{
  // this is a button)
}
...
Run Code Online (Sandbox Code Playgroud)

如果无法完成转换,则as运算符不会抛出异常.


编辑:如果你只是想要实现控件的样式,你应该看看<Style/>标签.

这里的一个很好的例子