У меня есть UserControl с именем ProductEditView, который я добавляю в область моего MainWindow (shell). У меня есть TabControl в Shell области для отображения ProductEditView, как показано нижеПризма - Невозможно установить привязку для HeaderTemplate из TabItem
<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, я пытаюсь вывести текст из целевого продукта с помощью связывания. К сожалению, привязка не работает, но я могу отображать статический текст в виде заголовка. Можно ли отображать текст заголовка элемента табуляции, используя привязку, как указано выше?
Для полноты я также вставляю вид Редактировать продукт, который загружается в область 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>
Вы ссылка сломана, и что именно по этой причине связь только ответы не приветствуются на переполнение стека (хотя, возможно, не так нежелательны, когда вы вывесили свой ответ). – Sheridan
вот ссылка, и решение сработало для меня http://blog.vivekmehta.com/2011/06/referencing-viewmodel-datacontext-in-prism/ – dev27