我想创建一个从 StackPanel 派生的自定义 StackPanel。但要添加项目,我想创建一个特殊列表(可以使用 List<> 或 ObservableCollection<>)。应该是这样的
<mc:MyStackPanel>
<mc:MyStackPanel.Items>
<mc:MyControl Content="A" />
<mc:MyControl Content="B" />
<mc:MyControl Content="C" />
</mc:MyStackPanel.Items>
</mc:MyStackPanel>
不像这样(目前这个正在工作),
<mc:MyStackPanel>
<mc:MyControl Content="A" />
<mc:MyControl Content="B" />
<mc:MyControl Content="C" />
</mc:MyStackPanel>
我尝试使用 ObservableCollection,如果我添加项目,它会完美运行。智能感知也只显示了一个可以添加的 MyControl。
现在,如何从集合中获取列表并将其添加到 StackPanel,即使用 stkPanel.Children.Add()。
我应该改用 Panel 还是如何获取列表并添加到 Panel 中?提前致谢。
PS:我尝试了几个选项,但列表始终为空,包括使用 ItemsControl。所以可能我在这里遗漏了一些观点。再次使用 ItemsControl 不适合我的场景,因为我只想要一种可以添加到面板的控件类型。