Би било много полезно да прехвърлите DataContext като параметър за DataTemplate:
<DataTemplate>
<DataTemplate.Resources>
<ObjectDataProvider x:Key="ServiceDataProvider" ObjectType="{x:Type control:ServiceLayout}">
<ObjectDataProvider.ConstructorParameters>
/*here could be DataContext..but how?*/
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</DataTemplate.Resources>
<ContentPresenter
Content="{Binding
Source={StaticResource ServiceDataProvider}}" />
</DataTemplate>
Ще използвам този DataTemplate в ListBox ItemTemplate. Така че DataContext ще бъде обвързан обект с ListBoxItem (типът е известен)
Може би има други начини за предаване на параметър към конструктора от DataTemplate?