Я использую Composite Aplication Guidiance Pattern для создания моего приложения WPF. В моей оболочке у меня есть tabcontrol, который содержит регион для динамической загрузки просмотров в регион. Представления загружаются в новые вкладки в TabControl.
<TabControl
AutomationProperties.AutomationId="MainTabControl"
cal:RegionManager.RegionName="{x:Static inf:RegionNames.MainRegion}"
Width="Auto" Height="Auto" Margin="10,10,0,0"
HorizontalAlignment="Stretch"
IsSynchronizedWithCurrentItem="True"
ItemTemplate="{StaticResource TabItemTemplate}"
SelectionChanged="TabControl_SelectionChanged">
У меня есть DataTemplate "TabItemTemplate" для реализации CloseButton. Я не могу понять, как связать команду кнопки в шаблоне данных с командой закрытия в presentationModel. Если я связываю команду с CompositCommand, это команда executet. Но затем я должен выяснить, на какой вкладке нажата кнопка закрытия, и выполнить closeCommand только в этой PresentationModel.
<DataTemplate x:Key="ClosableTabItemTemplate">
<DockPanel Width="120">
<Button
Command="inf:CloseCommands.CloseCommand"
Content="X"
Cursor="Hand"
DockPanel.Dock="Right"
Focusable="False"
FontFamily="Courier"
FontSize="9"
FontWeight="Bold"
Margin="0,1,0,0"
Padding="0"
VerticalContentAlignment="Bottom"
Width="16" Height="16"
/>
<ContentPresenter
Content="{Binding}"
VerticalAlignment="Center"
/>
</DockPanel>
</DataTemplate>
Кто-нибудь знает, как решить эту проблему связывания ??