DataTemplate のパラメーターとして DataContext を渡すと非常に便利です。
<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 からコンストラクタに渡す方法は他にあるでしょうか?