gpt4 book ai didi

c# - C#WPF动态创建控件组WPF

转载 作者:行者123 更新时间:2023-12-03 10:45:05 27 4
gpt4 key购买 nike

假设我有一个如下的类:

Public MyChart
{
private string ChartName{get; set;}
private List<MyChartSeries> ChartSeries{get; set;}
}

然后在我的ViewModel下,我有一个 public List <MyChart> Charts
我要做的是使用 图表名称创建一个新的TextBlock,它将包含此字符串值(类似于标题),然后在其下创建一个新图表,该图表将由 ChartSeries 填充(它将更加复杂,但出于解释目的,已经足够了)。

图表数量可能会因输入文件而异。我可以通过代码创建此“控件组”;但是我相信应该有某种方法可以通过MVVM模式动态地做到这一点(这样我就不必手动遍历我的Charts集合并自己做所有事情)。

我想问一个如何开始的方向,因为我以前从未做过...所以我什至不知道从哪里开始。我确实知道我很可能必须创建一个 UserControl ,但这几乎就是全部。

最佳答案

使用ItemsControl控件。在您的情况下,ItemsControl内的itemscontrol的最顶部将具有ItemsSource数据,数据源的数据将发布到“图表”,内部将其“ChartSeries”

在mvvm中,而不是在xaml中创建Items,您仅创建ItemTemplate并指定ItemsSource。 Wpf然后将为您创建项目。如果使用ObservableCollection而不是List,则可以动态添加和删除图表以及chartseries,而ItemsControl将在ui中自动创建和删除项目。

关于c# - C#WPF动态创建控件组WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29443989/

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