[英]How To select and object of label , If it is a child of Grid in C#
我有一个程序,我必须更改标签文本(点击按钮),这是一个网格的孩子
public class XLabel
{
Grid uiGrid = null;
TextBlock textblock = null;
string emptyString = "";
Public void createLabel()
{
uiGrid.Children.Add(textblock);
grid.Children.Add(uiGrid);
}
public void cleartext()
{
textblock.Text = emptyString;
}
}
在其他课程中,我有一种清除文字的方法
public void clearText()
{
XLabel obj = new XLabel();
obj.cleartext(indexi);
}
如果有多个网格且每个网格都有一个标签,如何选择特定标签来清除特定网格中的文本。
Grid对象具有Name或Tag等属性,可用于搜索。
如果以编程方式创建网格,则应为每个创建一个唯一属性,然后在clearText方法中,您只需从XLabel对象接收所有网格对象,并搜索具有正确名称/标记的对象。
要从网格中获取标签列表,您可以像这样使用lambda:
List<UIElement> list =
YourGrid.Children.Where(o => o.GetType() == typeof(Label)).ToList();
为了扩展奥尔特的答案,
像这样创建Textblock和Grid
Grid uiGrid = new Grid() { Name = "uiGrid"+1 };
TextBlock textblock = new TextBlock() { Name = "textBlock"+1 };
每次更改您添加到网格和文本块的数字,并以某种方式计划keeptrack该数字。
然后当你想要清除文字时,
(this.FindName("textBlock"+1) as TextBlock).Text = "";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.