私は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>
VisualStudioIntellisenseで次のようなエラーが発生します
指定した値をコレクションに割り当てることはできません。次のタイプが予想されました:
UIElement
また、アプリを実行すると(ビルドされます)、XAMLのその場所で次の例外が発生します。
'タイプのコレクションに値を追加すると
System.Windows.Controls.UIElementCollection
、例外がスローされました。' 行番号x
と行の位置y
。
UserControl
あらゆる種類のコンテンツを受け入れることができるようにするにはどうすればよいですか?