我正在尝试编写一个UserControl
允许其中的单个控件(如Label
)以及“布局”控件StackPanel
和朋友的“布局”控件。
我很难做到这一点。我的代码适用于单个控件,但不适用于布局控件。我觉得这是一个明显的修复,我是 WPF 的新手。这是UserControl
XAML:
<UserControl <!-- namespaces omitted for brevity -->>
<UserControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}" />
</DataTemplate>
</UserControl.ContentTemplate>
</UserControl>
当我尝试像这样使用它时:
<my:SpecialUserControl>
hello
</my:SpecialUserControl>
没关系。但是当我尝试做类似的事情时
<my:SpecialUserControl>
<StackPanel>
<!-- stuff -->
</StackPanel>
</my:SpecialUserControl>
我在 Visual Studio Intellisense 中收到错误提示
无法将指定的值分配给集合。预期以下类型:
UIElement
当我运行应用程序(它构建)时,我在 XAML 中的那个地方得到这个异常:
“向类型集合添加值
System.Windows.Controls.UIElementCollection
引发异常。” 行号x
和行位置y
。
我该怎么做才能让我UserControl
能够接受任何类型的内容?