【发布时间】:2013-02-26 21:42:32
【问题描述】:
我有以下用户控制:
<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>
当我在 MainWindow.xaml 中使用以下 XAML 时:
<local:UserDockPanel>
<Label ...>
<Label ...>
</local:UserDockPanel>
上面说我不能生一个以上的孩子。
我的第一个问题是:我应该使用 UserControl 还是应该使用自定义控件? 我认为 UserControl 最适合我在 DockPanel 上有标签、Border 和 Scrollviewer 的情况。
另外,据我了解,面板无法模板化。它没有外观,因此没有风格。
第二个问题:如果我应该使用 UserControl,我怎样才能让它允许将多个孩子添加到停靠面板中?
【问题讨论】:
标签: c# wpf user-controls dockpanel