User control contenant un tabcontrol modifié.

cs_terranigma Messages postés 27 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 29 décembre 2010 - 11 nov. 2010 à 14:58
d0jones Messages postés 10 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 15 janvier 2013 - 15 janv. 2013 à 16:48
Bonjour,

Je suis nouveau en création d'user control et je rencontre quelques difficultés.
J'ai d'une part fait un contrôle qui dérive d'un tabControl afin de pouvoir masquer les onglets.
Mon user control utile ce tabControl personnalisé mais le problème que je rencontre est que lorsque que je le met dans une form et que je tente d'accéder à la propriété tabControl du userControl et d'ajouter un tabPage ça fait carrément redémarrer l'IDE.

J'aimerais donc savoir la meilleure manière de procéder dans ce cas.

Merci d'avance pour vos réponses et bon week-end !

1 réponse

d0jones Messages postés 10 Date d'inscription vendredi 29 décembre 2000 Statut Membre Dernière intervention 15 janvier 2013
15 janv. 2013 à 16:48
Salut,
Voila la méthode bourrine :
Code du Usercontrol :
    <TabControl Background="AliceBlue"></TabControl>

pas de code behind

Code de la fenetre principale :
<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        
        
        <local:UserControl1 x:Name="UC1" Grid.Row="1" />
        
    </Grid>
</Window>


Code behind :
public partial class MainWindow : Window
    {
        int num = 1;
        public MainWindow()
        {
            InitializeComponent();            
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            var tabControl = UC1.Content as TabControl;
            if (tabControl != null)
            {
                tabControl.Items.Add(new TabItem() { Header = string.Format("header {0}", num) });
                num++;
            }
        }
    }


Limitation : ca devient le bordel si tu as un visualtree compliqué!
0
Rejoignez-nous