gpt4 book ai didi

c# - WPF:如何在具有不同名称的 for 循环内创建 UserControl 的多个实例?

转载 作者:可可西里 更新时间:2023-11-01 10:53:25 28 4
gpt4 key购买 nike

我正在创建一个 WPF 窗口,我在其中创建了 UserControl 的多个实例。我正在使用 for 循环创建 UserControl 的新实例,如何为 UserControl 实例指定不同的名称?这就是我正在做的:

    for(i=0; i<5; i++)
{
MyUserControl <name> = new MyUserControl ();
/*code to change the properties of usercontrol*/
SomeStackPanel.Children.Add(<name>);
}

最佳答案

只需使用 Name像这样的属性:

        StackPanel sp = new StackPanel();
for (int i = 0; i < 5; i++)
{
UserControl uc = new UserControl();
uc.Name = "name"+i; // add your name here
sp.Children.Add(uc);
}

编辑

在评论中回答你关于如何获取控件的问题

        var list = sp.Children.Cast<UserControl>();             // now we are able to use Linq
var sublist = list.Where(item => item.Name == "name1"); // searching for all UserControl with the Name "name1"
var uControl = sublist.FirstOrDefault(); // will result inyour UserControl or null

//same as above just in one line
var uControl2 = sp.Children.Cast<UserControl>().Where(item => item.Name == "name2").FirstOrDefault();

关于c# - WPF:如何在具有不同名称的 for 循环内创建 UserControl 的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17446782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com