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