确定WPF元素类型

时间:2009-06-15 05:47:14

标签: c# wpf

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

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

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

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

某种东西。

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

编写控件特定逻辑。

是否使用Framework元素?

请在c#中提供代码。例如,请选择3/4控件。

我也在谷歌搜索!

提前致谢

3 个答案:

答案 0 :(得分:8)

您可以使用:

if (element is Grid)
{
}
else if (element is Label)
...

答案 1 :(得分:5)

如果您只有有限数量的类型要使用“as”运算符进行检查,然后检查是否为null。

Button button = control as Button;
if (button != null)
{
  // this is a button)
}
...

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


编辑:如果您只是想要实现控件的样式,您应该查看<Style/>标记。

请参阅here以获取一个好例子

答案 2 :(得分:3)

如果您对控件/类型有引用,则GetType()应该有效。