Im Utilisation du canevas de canevas d'aplication composite pour créer mon application WPF. Dans mon Shell j'ai un tabcontrol qui contient une région pour charger dynamiquement des Vues dans la région. Les vues sont chargées dans de nouveaux onglets dans TabControl.Problème lié à la commande de fermeture de bouton dans un datatemplate 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">
J'ai un DataTemplate "TabItemTemplate" pour implémenter un CloseButton. Je n'arrive pas à comprendre comment lier la commande du bouton dans le DataTemplate à la commande Close dans le PresentationModel. Si je lier la commande à un CompositCommand, la commande est exécutable. Mais alors je dois comprendre quel onglet on a pressé le bouton de fermeture et seulement exécuter closeCommand dans ce PresentationModel. Voici le dataTemplate.
<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>
Est-ce que quelqu'un sait comment résoudre ce problème de liaison ??
J'ai déjà essayé de lier à un DelegateCommand, il ne semble pas fonctionner. Il semble que le DataTemplate ne connaisse pas le DataContext du TabItem. – KaJo
Comment ajoutez-vous votre vue dans la région? (à quoi ressemble votre code?) –