У меня есть UserControl с именем ProductEditView, который я добавляю в область моего MainWindow (оболочки).У меня есть TabControl в области Shell для отображения ProductEditView, как показано ниже
<TabControl Name="tabEditProduct"
prism:RegionManager.RegionName="TabContent"
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<DockPanel LastChildFill="True" >
<Button Width="16" Height="16" Command="{Binding Path=CloseTabCommand}"
DockPanel.Dock="Right" BorderThickness="0" Padding="0"
BorderBrush="Transparent" Background="Transparent">
<Image Source="Images/close-icon.png" Width="14" Height="14"
HorizontalAlignment="Stretch" Margin="0"/>
</Button>
<TextBlock Text="{Binding ProductName}"
DockPanel.Dock="Left" Margin="0,0,10,0" />
</DockPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
В шаблоне HeaderTemplate объекта TabItem я пытаюсь отобразить текст из объекта Product с помощью привязки.К сожалению, привязка не работает, но я могу отображать статический текст в качестве заголовка. Можно ли отображать текст заголовка элемента вкладки, используя привязку, как указано выше?
Для полноты я также вставляю представление для редактирования продукта, загружаемого в область TabControl, как TabItem.Привязки для этого работают хорошо.Вот это ProductEditView
<UserControl x:Class="TextExisting.CoreModule.ProductEditView"
....
<Grid HorizontalAlignment="Center" DataContext="{Binding Path=Product}" Grid.Row="0" Grid.Column="0">
....
<TextBlock Text="Id" Grid.Row="0" Grid.Column="0"/>
<TextBox Grid.Row="0" Grid.Column="1"
Text="{Binding Path=Id, NotifyOnValidationError=True, ValidatesOnExceptions=True}" />
<TextBlock Text="Product Name" Grid.Row="1" Grid.Column="0"/>
<TextBox Grid.Row="1" Grid.Column="1"
Text="{Binding Path=ProductName, NotifyOnValidationError=True, ValidatesOnExceptions=True}" />
....
</Grid>
<Button Command="{Binding SaveProductCommand}" Content="Save Product" HorizontalAlignment="Center"/>
</UserControl>