C# 自定义用于显示ObservableCollection内容的框架元素

C# 自定义用于显示ObservableCollection内容的框架元素,c#,wpf,C#,Wpf,所以看起来我想做的应该是直截了当的,但我一直没能找到一个方法去做 我需要显示一个对象列表,这些对象表示用于输入数据的自定义元素。每个对象的具体显示方式取决于对象的参数,因此它可以是包含名称、说明和文本框的网格。它可以是一个带有两个标签和一个下拉列表的网格。它可以是包含多个子对象的扩展器。它可能是一些尚未构建的新东西,因此需要扩展。现在,我通过为每个对象创建FrameworkElement并手动将其添加到网格来填充此列表 我想切换到将对象保存在ObservableCollection中,然后将该集

所以看起来我想做的应该是直截了当的,但我一直没能找到一个方法去做

我需要显示一个对象列表,这些对象表示用于输入数据的自定义元素。每个对象的具体显示方式取决于对象的参数,因此它可以是包含名称、说明和文本框的网格。它可以是一个带有两个标签和一个下拉列表的网格。它可以是包含多个子对象的扩展器。它可能是一些尚未构建的新东西,因此需要扩展。现在,我通过为每个对象创建FrameworkElement并手动将其添加到网格来填充此列表


我想切换到将对象保存在ObservableCollection中,然后将该集合绑定到ListBox或类似对象。这样,当从列表中添加或删除新对象时,UI将自动相应地更新自身。我不明白的是,有没有一种方法可以将它指向我的C方法,为每个对象创建自定义配置的FrameworkElement,这样当添加新对象时,适当的元素就会添加到UI中?

好吧,您现在想使用ObservableCollection和ListBox控件是对的。不过,我冒昧地说,您可能只想使用,因为您可能不关心选择某个特定项目,而只是显示项目的枚举,而列表框将允许您实际选择其中一个项目

您的问题是希望列表中的每个项目根据特定条件显示不同。为此,您需要查看和类

基本上,DataTemplate是一种表示我希望我的项目看起来像这样的方式,DataTemplateSelector是一种表示我希望根据此条件选择此特定DataTemplate的方式

下面是一些关于如何使用DataTemplate/DataTemplateSelector类的示例:


好吧,您希望使用ObservableCollection和ListBox控件,这是正确的。不过,我冒昧地说,您可能只想使用,因为您可能不关心选择某个特定项目,而只是显示项目的枚举,而列表框将允许您实际选择其中一个项目

您的问题是希望列表中的每个项目根据特定条件显示不同。为此,您需要查看和类

基本上,DataTemplate是一种表示我希望我的项目看起来像这样的方式,DataTemplateSelector是一种表示我希望根据此条件选择此特定DataTemplate的方式

下面是一些关于如何使用DataTemplate/DataTemplateSelector类的示例:


将演示文稿与模型分离始终是一个好主意。看来你走对了方向

对于每个对象类型,您应该创建一个DataTemplate,然后使用ItemTemplateSelector为每个对象类型选择正确的模板


祝你好运

将演示文稿与模型分离始终是个好主意。看来你走对了方向

对于每个对象类型,您应该创建一个DataTemplate,然后使用ItemTemplateSelector为每个对象类型选择正确的模板

祝你好运

我的可能会帮你。我的可能会帮你。