【发布时间】:2009-04-30 13:40:52
【问题描述】:
我有以下 XAML 用于数据绑定项控件以显示组列表,其中包含一个标签和按钮以首先出现添加新组:
<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
Group4 Group5
【问题讨论】:
标签: wpf data-binding itemscontrol wrappanel