Я использую Prism и у меня есть область, которая является TabControl. У меня есть DataTemplate на TabControl.ItemTemplate для интерфейса типа IView. IView имеет строку заголовка и описания. Когда я вызываю RegisterViewWithRegion с моим IView, вкладка добавляется, но в заголовке не отображается описание. Могу ли я не привязывать свойства интерфейса или мне не хватает чего-то еще?
manager.AddToRegion ("ContentZone", новый PrimaryView ()); // Реализует IView
<TabControl x:Name="ContentZone" cal:RegionManager.RegionName="ContentZone" Grid.Row="1" umn="0">
<TabControl.ItemTemplate>
<DataTemplate DataType="{x:Type oasis:IView}">
<DockPanel ToolTip="{Binding Path=Description}">
<Label Padding="0"
Content="{Binding Path=Title}"
VerticalAlignment="Center" />
Редактировать: Я нашел решение, хотя я не нахожу это слишком хорошо. По какой-то причине DataContext из DataTemplate всегда возвращался как нулевой, независимо от того, что я делал, я пробовал DataTempalteSelector, но сам элемент также был нулевым. Вместо этого я попытался перейти на базовый абстрактный класс, и это тоже не сработало. Вот что я закончил для самой привязки:
{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ContentControl}}, Path=DataContext.Title}