Comment puis-je obtenir un bouton de fermeture sur basé sur un modèle TabItem dans WPF?
J'ai un TabControl
où la TabItem
s sont DataTemplat
ed. Le modèle semble fonctionner correctement, en ce que le usercontrol je tiens à montrer dans la TabItem
montre correctement.
Ce que je ne suis pas sûr, c'est comment obtenir un "x" apparaît dans les TabItem
donc je peux fermer chaque onglet, car ils sont générés de manière dynamique par le biais d'un modèle.
Étant assez nouveau pour WPF, je commence à ramasser sur un grand nombre de concepts, mais le TabControl
m'a donné beaucoup de mal, donc je peut très bien avoir le modèle réalisable, mais pas facile à gérer.
C'est ce que j'ai, et je voudrais être en mesure de la clôture de chaque TabControl
. J'aurai aussi besoin d'être en mesure de déclencher un événement personnalisé lors que TabControl
est fermé.
<UserControl x:Class="Russound.Windows.UI.UserControls.CallLog.CaseReaderWpf"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:CallLog="clr-namespace:Russound.Windows.UI.UserControls.CallLog"
Height="637" Width="505">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Russound.Windows;component/UI/RussoundDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<TabControl x:Name="tabCases" >
<TabControl.ItemTemplate>
<DataTemplate DataType="{x:Type TabItem}">
<StackPanel>
<TextBlock Text="{Binding Path=Id}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate DataType="{x:Type TabItem}">
<CallLog:CaseReadOnlyDisplay DataContext="{Binding}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</UserControl>
Vous devez vous connecter pour publier un commentaire.
Découvrez cet article MSDN par Josh Smith. C'est une excellente solution pour votre question.
Des Applications WPF Avec Le Modèle model-View-ViewModel Modèle de Conception
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
vous devrez tirer votre propre contrôle onglet.
recherche google révèle un grand nombre de résultats, de nombreux d'entre eux avec de la source de sorte que vous n'avez pas à réinventer la roue.
Josh Smith a écrit un article de MSDN Magazine avec un exemple de travail de l'onglet éléments qui ont des boutons de fermeture. Le code est basé sur le pattern MVVM, mais vous devriez être capable d'extraire les informations pertinentes à partir de l'onglet contrôle de l'élément de modèle.
Je n'ai pas de OpenID login donc je ne pouvais pas poster l'URL directement. Recherche Google pour "josh smith mvvm démo app".
Viens de tomber sur celui-là. Je suis en train de faire MVVM mais il serait très similaires à utiliser le formulaire événements. En tout cas, j'ai utilisé le ItemContainerStyle paramètre et le point à un style de type de données de qualifier de la sorte:
FieldLayoutSettings
est souvent associée à l'espace de nomsigDP
qui est définie commexmlns:igDP="http://infragistics.com/DataPresenter"
. Espère que cela va aider d'autres lecteurs.De ne pas détourner le fil, mais vous pourriez envisager de la façon dont les choses moches regarder quand chaque de l'onglet bouton fermer. Si vous souhaitez préfèrent un seul bouton fermer (la Visual Studio) intégré dans le
TabControl
lui-même, vous pouvez prendre un coup d'oeil à ce blog j'ai fait, qui n'est qu'en tant que partie de l'échantillon (mais n'est pas le centre de la poste).