如何以编程方式确定WPF中的元素类型?
例如我的xaml由文本框,单选按钮,组合,列表框等组成。
在加载事件中,假设我想做一些与控件相关的事情。(对所有文本框说,
前景色为红色,对于所有标签,背景色为绿色)..
某种东西。
所以我必须循环遍历Xaml中存在的整个控件列表,然后必须
编写控件特定逻辑。
是否使用Framework元素?
请在c#中提供代码。例如,请选择3/4控件。
我也在谷歌搜索!
提前致谢
答案 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()应该有效。