Как привязать элементы управления к двум коллекциям
Привет Я пытаюсь привязать свой элемент управления к двум коллекциям (привязать заголовок groupbox к коллекции и содержимое к другой связанной коллекции).
вот такая ситуация в деталях:
У меня есть два стола:
Employees(empID, EmpName, empDepartmentId)и
Departments(depID, depName)
Я хочу привязать их к элементу управления компоновкой потока (частое) так что заголовки groupboxes элемента управления показывают название отдела, а содержимое-сотрудников в этом отделе
Приведенный ниже код отлично работает для заголовка, но я не могу понять, как добавить имена сотрудников.
Я поставил ??? где я должен привязываться к сотрудникам.
Я думаю, что мне нужно привязаться к коллекции, которая фильтруется с помощью идентификатора свойства depID текущего элемента, но я не знаю, как это сделать, что-то вроде этого:
XPCollection<employee> DepEmployees = new XPCollection<employee>(new BinaryOperator("empDepartmentId", currentgroupbox.depID????? , BinaryOperatorType.Equal));
а потом в Xaml:
<TextBlock Text="{Binding DepEmployees , RelativeSource={RelativeSource AncestorType={x:Type local:MainWindow}}}"/>
Что я уже пробовал:
код XAML:
<dxlc:FlowLayoutControl x:Name="Departments" Background="Transparent" ItemSpace="12" LayerSpace="12" Orientation="Horizontal"> <dxlc:FlowLayoutControl.ItemTemplate> <DataTemplate> <dxlc:GroupBox Width="200" Height="250" Content="{Binding}" Cursor="Hand" FontFamily="Segoe UI Light" FontSize="14" Header="{Binding}" MaximizeElementVisibility="Visible" Padding="0"> <dxlc:GroupBox.HeaderTemplate> <DataTemplate> <TextBlock Margin="1"> <Run FontFamily="Segoe UI" Text="{Binding depName}" /> <Run Text=" , " /> <Run Text="{Binding depID}" /> </TextBlock> </DataTemplate> </dxlc:GroupBox.HeaderTemplate> <dxlc:GroupBox.ContentTemplate> <DataTemplate> <TextBlock Text="{Binding empName ???????}" /> </DataTemplate> </dxlc:GroupBox.ContentTemplate> </dxlc:GroupBox> </DataTemplate> </dxlc:FlowLayoutControl.ItemTemplate> </dxlc:FlowLayoutControl>
CSharp
Departments.ItemsSourcenew = XPCollection(typeof(Departments));