У меня есть следующий пользовательский элемент управления:Как вы разрешаете нескольким дочерним элементам UserControl?
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="USER CONTROL" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" Name="label1"
VerticalAlignment="Top" FontSize="26" Padding="0"/>
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<Border BorderBrush="Black" BorderThickness="1">
<DockPanel x:Name="dPanel" Background="White">
</DockPanel>
</Border>
</ScrollViewer>
</Grid>
Когда я использую следующий код XAML в моем MainWindow.xaml:
<local:UserDockPanel>
<Label ...>
<Label ...>
</local:UserDockPanel>
Он говорит, что я не могу иметь больше одного ребенка.
Мой первый вопрос: должен ли я использовать UserControl или использовать пользовательский контроль? Я думал, что UserControl будет лучше для моей ситуации, когда у меня есть ярлык, а также Border и Scrollviewer над моей DockPanel.
Кроме того, по моему мнению, панель нельзя шаблонировать. Он выглядит неважно и поэтому не имеет стиля.
Второй вопрос: Если я должен использовать UserControl, как я могу сделать так, чтобы на панель док-станции можно было добавить более одного ребенка?
Это идеальный вариант! В любом случае, я могу заставить вас объяснить, что здесь происходит? Однако я понимаю некоторые из них, мне бы очень хотелось узнать, как это работает. –
Вы создаете пользовательский 'ControlTemplate' для' ItemsControl', а затем устанавливаете его 'ItemsPanelTemplate' в' DockPanel'. –
Очень круто. Я понятия не имел, что вы можете так поступить. –