Я использую DataTemplating для списка ItemSource
, чтобы отобразить серию комбинированных списков.Я хочу передать DisplayMemberPath
комбо свойству, которое находится в другом источнике, чем его собственный ItemsSource
.(Предполагая, что DisplayMemberPath
это просто строка, представляющая имя свойства, я получаю это от пользователя).Я достиг этого с CollectionViewSource
, но все списки отображаются в одном списке.
То, что я ожидаю получить после шаблонизации данных, - это отображение комбинированных списков,
ComboboxInstance1.DisplayMemberPath = PropertyMapOfEmployee in FilterControls[0]
ComboboxInstance2.DisplayMemberPath = PropertyMapOfEmployee in FilterControls[1]
Этого можно добиться в XAML?
Спасибо.Mani
Контроль пользователя:
<Resources>
<CollectionViewSource x:Key="bindingSource" Source="{Binding BindingItems}"/>
<CollectionViewSource x:Key="FilterSource" Source="{Binding FilterControls}"/>
<DataTemplate DataType="{x:Type CustomTypes:FilterElement}">
<ComboBox ItemsSource="{Binding Source={StaticResource bindingEmp}"
DisplayMemberPath="{Binding Source={StaticResource FilterSource},
Path=PropertyMapofEmployee}" />
</DataTemplate>
<Resources>
---
<DockPanel>
<ListBox x:Name="lstBox" ItemsSource="{Binding FilterControls}" />
</DockPanel>
ViewModel:
List<FilterElement> FilterControls;
List<Employee> Employees
class FilterElement
{
string Caption;
String PropertyMapofEmployee
}