0
我有一个数据绑定项目的下列XAML控制,以显示组列表,标签和按钮添加一个新的组首先出现:WPF ItemsControl的数据绑定 - 添加额外初始控件
<WrapPanel Orientation="Horizontal">
<Label Content="Groups" />
<Button x:Name="btnGroupAdd" Click="btnGroupAdd_Click" Content="+" />
<ItemsControl ItemsSource="{Binding}" x:Name="_groupList" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal">
</WrapPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Padding="3" BorderThickness="1">
<WrapPanel>
<CheckBox x:Name="_groupEnabled" Click="GroupEnabled_Click" IsChecked="{Binding Path=Checked}">
<TextBlock x:Name="_groupName" Text="{Binding Path=Group.Name}" ></TextBlock>
</CheckBox>
<Button x:Name="_deleteGroup" FontStyle="Normal" Click="DeleteGroup_Click" />
</WrapPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
对于少数组,所有内容都显示在一行上。
组+组别1组2组3
当我添加更多的组,包含该项目的包裹面板包裹,但初始标签和按钮添加一个新的组是其自己的行,与数据绑定组从下一行开始。
组+
组别1组2组3组4
组5
我可以理解为什么会这样,因为裹面板嵌套。我的问题是:如何将第一个标签和按钮包含在内部包装面板中,以便它们不在自己的行上?
组+组别1组2组3
组4组5
谢谢肯特,它确实有帮助。我会看看网格,因为它看起来最简单。我不认为我可以将控件添加到集合中,因为它正在从XML文件反序列化。 我想接下来的问题是如何编写我自己的面板... – harriyott 2009-04-30 14:34:33