wpf 如何查找window下的所有TextBox元素?
答案:3 悬赏:10 手机版
解决时间 2021-03-02 14:47
- 提问者网友:人傍凄凉立暮秋
- 2021-03-01 14:06
先谢!!
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-03-01 14:20
1.window派生自ContentControl,也就是说它只能有单一子项,单纯的window下不可能有多个textbox控件。
2.通常,或者说你在VS建WPF项目默认时,window下面是个Grid,它可以有多个子控件,假如这个Grid名称是”rootGrid",查找其下所有TextBox代码如下:
foreach (UIElement control in rootGrid.Children)
{
if (control is TextBox)
{
//转换成TextBox类型,此后对其进行处理即可
TextBox textBox = control as TextBox;
MessageBox.Show("我是文本框");
}
}
2.通常,或者说你在VS建WPF项目默认时,window下面是个Grid,它可以有多个子控件,假如这个Grid名称是”rootGrid",查找其下所有TextBox代码如下:
foreach (UIElement control in rootGrid.Children)
{
if (control is TextBox)
{
//转换成TextBox类型,此后对其进行处理即可
TextBox textBox = control as TextBox;
MessageBox.Show("我是文本框");
}
}
全部回答
- 1楼网友:怀裏藏嬌
- 2021-03-01 15:35
递归使用VisualTreeHelper去找到 TextBox
private void EnumVisual(Visual myVisual)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
{
Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);
if (childVisual != null)
{
if (childVisual is TextBox) (childVisual as TextBox).Text = "Winner";
EnumVisual(childVisual);
}
}
}
传参数的时候传this即可
- 2楼网友:笑迎怀羞
- 2021-03-01 15:21
这个嘛,可以设置其他控件的字体15, 然后再单独对你需要的textbox/block 设置。我给你写了个示例代码。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯