C# 如何从返回列表的对象方法动态创建内容(标签/网格)<;字符串>;

C# 如何从返回列表的对象方法动态创建内容(标签/网格)<;字符串>;,c#,wpf,xaml,C#,Wpf,Xaml,我试图通过谷歌搜索得到答案,但我似乎无法以正确的方式提问,因此没有一个答案能描述我的问题 问题是:我想根据返回List的Object方法的结果创建未知数量的控件(网格、文本框、标签{pick one},对于本例来说,这无关紧要。我以后只需编辑它即可)。假设该方法返回包含4项的列表,那么在应用程序启动时,我希望看到包含列表中文本的四个标签/文本框(以行为单位) 我正在学习WPF,所以我做了一些教程等,通常我能够将值从对象绑定到单个标签/文本框/控件,但不知道如何使用列表项的整个结果动态地进行绑定

我试图通过谷歌搜索得到答案,但我似乎无法以正确的方式提问,因此没有一个答案能描述我的问题

问题是:我想根据返回
List
的Object方法的结果创建未知数量的控件(网格、文本框、标签{pick one},对于本例来说,这无关紧要。我以后只需编辑它即可)。假设该方法返回包含4项的列表,那么在应用程序启动时,我希望看到包含列表中文本的四个标签/文本框(以行为单位)

我正在学习WPF,所以我做了一些教程等,通常我能够将值从对象绑定到单个标签/文本框/控件,但不知道如何使用列表项的整个结果动态地进行绑定

我甚至无法想象在头脑中,很难将它转换成代码

假设我有以下目标:

namespace Test
{
    public class Robots
    {
        public List<string> GetAllRobots()
        {
           List<string> resultList = new List<string>();
           resultList.add["Robot1"];
           resultList.add["Robot2"];
           resultList.add["Robot3"];
           resultList.add["Robot4"];
           return resultList;
         }
    }
}

名称空间测试
{
公共级机器人
{
公共列表GetAllRobots()
{
列表结果列表=新列表();
结果列表。添加[“机器人1”];
结果列表。添加[“机器人2”];
结果列表。添加[“机器人3”];
结果列表。添加[“机器人4”];
返回结果列表;
}
}
}
这是我不知道如何构建的部分,以生成/绑定四个单独的标签到XAML中

namespace Test
{
    /// <summary>
    /// Interaction logic for UCRobots.xaml
    /// </summary>
    public partial class UCRobots : UserControl
    {
        public UCRobots()
        {        
            InitializeComponent();
            List<string> dataList = new Robots().GetAllRobots();
            this.DataContext = dataList;
        }
    }
}
名称空间测试
{
/// 
///UCRobots.xaml的交互逻辑
/// 
公共部分类UCRobots:UserControl
{
公共机器人()
{        
初始化组件();
List dataList=新机器人().GetAllRobots();
this.DataContext=dataList;
}
}
}

有没有教程可以教我如何编写XAML部分?或者任何愿意帮助我解答问题的人?

您可以使用任何类型的Items控件显示收藏的内容。一些示例包括ListBox、TreeView、HeaderedItemControl、TabControl,甚至ItemsControl本身。这些控件获取项目列表并根据ItemTemplate显示它们

在您的示例中,您可以编辑UCRobots.xaml文件,使其具有以下内容



您的代码无法编译。听起来像。根据需要更改ItemTemplate。由于列表项是字符串,itemtemplate中唯一的绑定将是类似于
:itemtemplate中的“DataContext”将用于列表中的一个字符串。ItemsControl绝对是一种方法。您可能还想研究什么是ObservableCollection,以及为什么在WPF中使用它而不是List