Я пытаюсь создать настраиваемую табло для управления нашими клиентскими комнатами.
Таблица 1 с именем Rooms [RoomID, RoomNumber, RoomDescription, ADA, RoomStatus]
Таблица 2 с именем Beds [BedID, BedNumber, RoomID, BedEnabled]
Таблица3 с именем Clients [ClientID, BedID, RoomID and other fields for client information]
С комнатой может быть связано более 1 кровати.Например, в комнате 101 есть 2 кровати, и мы можем назначить 2 клиентов на комнату 101.
Я пытался использовать Grid и StackPanel для вывода списка всех комнат.Затем в каждой комнате перечислите все кровати, затем для каждой кровати, если назначен клиент, я собирался использовать TextBlock для отображения информации о клиенте.Я понимаю, что это не то, что я могу сделать прямо в xaml, но, вероятно, нужно сделать некоторый код с циклами?
<Window x:Class="BoardDisplay.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BoardDisplay"
mc:Ignorable="d"
Title="Window1" Height="450" Width="800" Loaded="Window_Loaded">
<Window.Resources>
<local:Room_ManagerDataSet x:Key="room_ManagerDataSet"/>
<CollectionViewSource x:Key="roomsViewSource" Source="{Binding Rooms, Source={StaticResource room_ManagerDataSet}}"/>
<CollectionViewSource x:Key="bedsViewSource" Source="{Binding Beds, Source={StaticResource room_ManagerDataSet}}"/>
</Window.Resources>
<Grid Margin="10">
<ItemsControl ItemsSource="{Binding Source={StaticResource roomsViewSource}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding RoomNumber}" Margin="0,0,5,5">
<Grid>
<ItemsControl ItemsSource="{Binding Source={StaticResource bedsViewSource}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding BedNumber}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Window>