Я играю с инфраструктурой xamDataGrid.
Я хотел бы отобразить в «Поле» (= ячейка) пользовательский элемент управления UserControl и иметь для него DataContext поля. Каким-то образом DataContext всегда имеет значение null: -)
Вот XAML:
<UserControl.Resources>
<Style x:Key="MyTestUserControl" TargetType="{x:Type igDP:CellValuePresenter}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<myUC:MyTestUserControl
DataContext="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Value}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TextBoxField" TargetType="{x:Type igDP:CellValuePresenter}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<TextBox Text="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Value}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
DataContext для TextBoxField работает нормально, а DataContext для MyUserControl - нет.
Еще немного XAML, где я определяю поля:
<igDP:UnboundField BindingPath="SimpleTestStringToDisplay" Label="UnboundField">
<igDP:Field.Settings>
<igDP:FieldSettings CellValuePresenterStyle="{StaticResource TextBoxField}" />
</igDP:Field.Settings>
</igDP:UnboundField>
<igDP:UnboundField BindingPath="MyUserControlViewModel"
Label="UnboundField (UserControl)">
<igDP:Field.Settings>
<igDP:FieldSettings CellValuePresenterStyle="{StaticResource MyTestUserControl}" />
</igDP:Field.Settings>
</igDP:UnboundField>
Кто-нибудь знает, что я делаю не так?
Спасибо!
Ура,
Джозеф
EDIT:
Я тоже попробовал что-то подобное, но безуспешно:
<myUC:MyUserControl DataContext="{TemplateBinding DataContext}" />