WPF ItemsControl ربط البيانات - إضافة المزيد من الضوابط الأولية
-
03-07-2019 - |
سؤال
لدي التالية XAML عن databound عناصر التحكم لعرض قائمة من الفئات ، مع تسمية زر لإضافة مجموعة جديدة تظهر لأول مرة:
<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>
مع عدد صغير من الجماعات ، كل شيء يبدو على سطر واحد.
المجموعات + Group1 Group2 Group3
عند إضافة المزيد من المجموعات التفاف لوحة تحتوي على العناصر يلتف لكن الأولي تسمية زر لإضافة مجموعة جديدة على التوالي ، مع databound مجموعات ابتداء من الصف التالي.
المجموعات +
Group1 Group2 Group3 Group4
Group5
أستطيع أن أفهم لماذا يحدث هذا ، كما التفاف الألواح المتداخلة.سؤالي هو:كيف يمكنني إدراج أول تسمية زر في التفاف الداخلية الفريق بحيث لا في صف من تلقاء نفسها ؟
المجموعات + Group1 Group2 Group3
Group4 Group5
المحلول
إذا كنت سعيدا مع هذا:
المجموعات + Group1 Group2 Group3
Group4 Group5
ثم أود أن أقترح استخدام خارجي Grid
و الداخلية WrapPanel
.وإلا فإن الخيارات الخاصة بك:
- وتشمل ضوابط أخرى (
Label
وButton
) أو عرض نموذج reprenting تلك الضوابط في جمع أنت ملزم. - الكتابة الخاصة بك
Panel
.