C# 在WPF中也是网格的UserControl

C# 在WPF中也是网格的UserControl,c#,wpf,user-controls,C#,Wpf,User Controls,我想创建一个用户控件,它将有一些行为(动画折叠…)和一些控件(矩形,椭圆,主要用于设计目的) 然而,我需要它是一个有效的面板,就像网格,这样我可以在设计主窗口时在其中放置更多控件。将在主窗口设计时添加到新USerControl的控件不需要与创建USerControl时添加到其中的组件交互 我该怎么做?我是否必须扩展控件?我更愿意扩展UserControlUserControl是一个ContentControl,它具有Content属性,通常根据ContentTemplate显示它。我要说的是,U

我想创建一个
用户控件
,它将有一些行为(动画折叠…)和一些控件(
矩形
椭圆
,主要用于设计目的)

然而,我需要它是一个有效的
面板
,就像
网格
,这样我可以在设计主窗口时在其中放置更多控件。将在主窗口设计时添加到新
USerControl
的控件不需要与创建
USerControl
时添加到其中的组件交互


我该怎么做?我是否必须扩展
控件
?我更愿意扩展
UserControl

UserControl
是一个
ContentControl
,它具有
Content
属性,通常根据
ContentTemplate
显示它。我要说的是,
UserControl
中有一项。当然,您可以将
Children
属性添加到
UserControl
中,并将子项添加/删除到控件内的一些内部
网格中,但这不是内容控件的用途

要承载许多项目,您应该使用
面板
的子类,如您提到的
网格
。所有面板都有
子属性
以及排列在其上的元素列表。您可以继承
网格
,并在其中放置一些行为。例如,您可以创建一个扩展属性
MyGrid.Collapsed
,在网格中的元素上设置它,以便它可以安排它们的位置


另一个选项是子类化
ItemsControl
。放入其中的元素将根据其
ItemsPanel
模板显示。这种方法还提供了
ItemsSource
属性的一个优点,它可以通过使用
ItemTemplate
属性从任意数据类型生成元素来显示任意数据类型的列表。

我所看到的是
ContentPresenter
类与依赖属性相结合。
更多关于主题或主题的信息。或者试试。

我知道,我的这个问题不是很清楚。我有时间的时候会重写它。