Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF UserControl with multiple Children

I have a UserControl that I would like to be able to have more than one child. It already has StackPanel as it's child, so what am I doing wrong?

Ultimately, I'd like for the control to include some of its own children automatically and then, when it's used, allow placing more children inside one of its elements. I tried MSDN's How to Override the Logical Tree without success.

Thanks in advance.

LayerPanelItem.xaml:

<UserControl x:Class="Controls.LayerPanelItem"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <StackPanel></StackPanel>
</UserControl>

Main.xaml:

<controls:LayerPanelItem>   
    <TextBlock>Test</TextBlock>
    <TextBlock>Test</TextBlock> <!-- Error:  The property 'Content' is set more than once. -->
</controls:LayerPanelItem>
like image 737
JoeCoder Avatar asked Nov 14 '22 12:11

JoeCoder


1 Answers

You can't do this (directly) with a UserControl. Instead, you'll need to derive from ItemsControl, and put your own custom layout logic in the subclass.

like image 130
Reed Copsey Avatar answered Dec 05 '22 17:12

Reed Copsey