我有一个包含选项卡控件的xaml(Name =“MyTabControl”)。我是wpf和代码的初学者,我想动态添加标签项,然后我为每个创建的标签项添加一个列表框。下面是我到目前为止的代码。
ListBox listbox = new ListBox()
TabItem tab = new TabItem()
tab.AddChild(listbox)
MyTabControl.Add(tab)
我的问题是,我无法弄清楚如何动态创建新标签,这些标签也会为每个新标签添加一个列表框,然后将新标签添加到MyTabControl。 然后,我希望能够在每个选项卡中单独访问每个列表框控件以编辑列表框内容。
这是如何在代码中完成的?如何访问创建的列表框控件进行编辑?
答案 0 :(得分:0)
WPF / UWP和XAML的设计考虑了MVVM模式。虽然你可以使用其他方法,但这样做会错过大约90%的力量,并在其他角落遇到问题。
在MVVM中,这只是一个公开集合并具有Tempalte目标类型的公司。 ListBoxes甚至可能有一个自定义模板系统,但使用ListBoxes可能不再是必需的 - 任何容器都可以公开Collection。
如果你打算学习MVVM,那么你应该学习MVVM。我写了short intro a few years back,这应该可以帮到你。对于不关注MVVM的人的帮助在论坛上进行解析。
答案 1 :(得分:0)
一般来说,它违反了MVVM原则,WPF就是以这种方式构建UI的。相反,请考虑类似于this question答案中提出的解决方案。他们很好地解释了要做什么,以及为什么我们这样做。