Бит сценария:
В один из элементов управления моего приложения Silverlight я встроил пользовательский элемент управления. В этом встроенном элементе управления есть еще один пользовательский элемент управления, содержащий сетку данных. Я хотел бы использовать привязку для заполнения сетки данных. Достаточно просто, я просто выделил коллекцию, которая находится в DataContext родительского элемента управления.
Родительская форма:
<UserControl x:Class="ParentControl"
...>
<Grid x:Name="LayoutRoot" >
<ReusableControl />
</Grid>
</UserControl>
Родительский код:
public partial class ParentControl: UserControl
{
public ParentControl()
{
InitializeComponent();
this.DataContext = ObjectCollection;
}
public ObservableCollection<object> ObjectCollection
{
get ;
set ;
}
}
Промежуточная форма
<UserControl x:Class="ReusableControl"
...>
<Grid x:Name="LayoutRoot" Background="Gold">
<CustomDataGrid />
</Grid>
</UserControl>
Детский контроль:
<UserControl x:Class="CustomDataGrid"
...>
<Grid x:Name="LayoutRoot">
<data:DataGrid x:Name="dgItems"
AutoGenerateColumns="True"
ItemsSource="{Binding ObjectCollection}"
>
</data:DataGrid>
</Grid>
</UserControl>
Бит вопроса:
Я хочу определить столбцы таблицы данных динамически, основываясь на другой коллекции в родительском элементе управления DataContext. Как я могу это сделать? Есть ли более одного способа снятия шкуры с этой кошки? *
Спасибо,
Mark
* Ни один кот не пострадал при задании этого вопроса.