UserControl WPF / XAML qui hérite q'un contrôle existant [Résolu]

Afyn 613 Messages postés samedi 3 août 2002Date d'inscription 22 décembre 2016 Dernière intervention - 11 juin 2008 à 13:30 - Dernière réponse : Afyn 613 Messages postés samedi 3 août 2002Date d'inscription 22 décembre 2016 Dernière intervention
- 12 juin 2008 à 22:02
Bonjour
J'ai essayé de construire un contrôle personnalisé pour WPF qui hérite d'un contrôle ToolBar.
Je suis parti de l'ajout dans le Projet d'un UserControl, J'ai ensuite placé un Contrôle ToolBar
dans le UserControl ... et cela semblait bien fonctionner.
Par contre il est impossible de placer ce UserControl dans un Control ToolBarTray. Il y a
un message d'erreur pour signifier que le ToolBarTray n'accepte pour contrôle enfants que des
contrôles ToolBar.
J'ai essayé d'utiliser la fonction Inhérits dans la classe d'initilisation du UserControl, mais la encore
il y a plein de messages d'erreurs ... (Inherits ToolBar)
Est ce que quelqu'un à déjà fait un contrôle perso ToolBar que l'on peut ensuite positionner dans
un ToolBarTray ?

Merci d'avance pour votre aide
Afyn - Navedac<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>




 
Afficher la suite 

5 réponses

Répondre au sujet
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 12 juin 2008 à 14:20
+3
Utile
Salut,
Le nom du control ne changera rien
Il est logique que ton ToolBarTray n'accepte pas de contrôle qui ne sont pas des ToolBar, sinon tu pourrais y mettre ce que tu veux (boutons, textbox...)
Ensuite, ne commence pas par créer un UserControl. Un UserControl hérite de UserControl, donc c'est logique qu'il n'accepte pas un "Inherits ToolBar".
Créé simplement une nouvelle classe comme ceci :

Public Class MyToolBar
    Inherits ToolBar
End Class

MyToolBar sera alors exactement la même chose qu'une ToolBar. A toi de rajouter les fonctions/propriétés que tu souhaite avoir.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Kevin.Ory
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 11 juin 2008 à 19:18
0
Utile
salut,

umm... proposition un peu bête mais va savoir...
tu as essayé de nommer ton usercontrol ToolBar ?
(pas l'instance hein)

voilà tout ce que je peux tenter en dotnet
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Afyn 613 Messages postés samedi 3 août 2002Date d'inscription 22 décembre 2016 Dernière intervention - 12 juin 2008 à 18:01
0
Utile
Merci pour la réponse.
En fait je cherchais plutot a faire un fichier xaml (MidiToolBar.xaml par ex)
<

UserControl x:Class="MidiToolBar"
   xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <ToolBarTray>
      <ToolBar Width="Auto" Height="Auto">
         <Label Width="Auto" Height="Auto">001
         </Label>
      </ToolBar>
      <ToolBar Width="Auto" Height="Auto">
         Start
         
      </ToolBar>
   </ToolBarTray>

J'ai mis un ToolBar Array dans le UserControl ... mais bon c'est pas exactement ce que je voulais faire !
Commenter la réponse de Afyn
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 12 juin 2008 à 20:57
0
Utile
"mais bon c'est pas exactement ce que je voulais faire !"





Et c'est quoi exactement que tu voudrais faire?
Commenter la réponse de Kevin.Ory
Afyn 613 Messages postés samedi 3 août 2002Date d'inscription 22 décembre 2016 Dernière intervention - 12 juin 2008 à 22:02
0
Utile
Je voulais faire un UserControl qui hérite d'un ToolBar mais avec le xaml, de façon à pouvoir placer des controls Button ou Label sur le ToolBar de façon graphique. Mais t'as raison, j'irais aussi en  codant direct comme ça :
Public

Class MidiToolBar 
      Inherits System.Windows.Controls.ToolBar      PublicSubNew()
            Dim Lbl AsNew Windows.Controls.Label
            Lbl.Content = "00001"
            Me.Items.Add(Lbl)
      EndSub
EndClass

et dans la Form :

<Window x:Class="MainForm" 
      xmlns= h ttp://schemas.microsoft.com/winfx/2006/xaml/presentation
      xmlns:x= h ttp://schemas.microsoft.com/winfx/2006/xaml
      xmlns:local="clr-namespace:MimpWpf"
      Title="MainForm" 
      Height="302" 
      Width="497" 
      WindowStyle="ToolWindow">
      <ToolBarTray>
            <local:MidiToolBar>
            </local:MidiToolBar>
      </ToolBarTray>
</Window>

Merci pour tes réponses

Afyn - Navedac
Commenter la réponse de Afyn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.