IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

[WPF] Diverses Questions


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [WPF] Diverses Questions
    Bonsoir à tous,

    je me pose plusieurs questions concernant WPF.


    - Je voudrais faire un UserControl de type Shell Windows car il ne semple malheureusement pas qu'il n'y est pas de composant prévu à cette effet. Mon contrôle hérite d'un RichTextBox, en fait fonctionnellement pas mal de truc fonction en fait pour chaque commande, j'exécute le binaire associé et je récupère la sortie pour l'afficher dans mon RichTextBox.
    Le problème, pour des applications comme Emacs ou autres, c'est mort !
    Il faudrait que le binaire écrive directement sur mon contrôle ...
    Quelqu'un aurait des pistes à propos de cela ?

    - Ensuite, je suis en train de faire un contrôle de statistique, une sorte de camembert. J'aimerai pouvoir écrire en xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ns:PiePlotter>
       <ns:PiePiece .... />
       <ns:PiePiece .... /> 
       <ns:PiePiece .... />
    </PiePloter>
    En fait je n'ai jamais fait de controle où l'on pouvais rajouter du contenue.. comme les StackPanel, ou plutôt les TabControl et TabItem dans mon cas. Que faut il faire un autre UserControl pour les Pieces Et faire un List<PiePiece > dans le PiePlotter, mais comment gérer cela côté xaml ?, c'est des dependacy property classique ?


    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Pour la première question, pas trop d'idée...

    Citation Envoyé par NeoKript Voir le message
    - Ensuite, je suis en train de faire un contrôle de statistique, une sorte de camembert. J'aimerai pouvoir écrire en xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ns:PiePlotter>
       <ns:PiePiece .... />
       <ns:PiePiece .... /> 
       <ns:PiePiece .... />
    </PiePloter>
    En fait je n'ai jamais fait de controle où l'on pouvais rajouter du contenue.. comme les StackPanel, ou plutôt les TabControl et TabItem dans mon cas. Que faut il faire un autre UserControl pour les Pieces Et faire un List<PiePiece > dans le PiePlotter, mais comment gérer cela côté xaml ?, c'est des dependacy property classique ?
    Il faut que ton contrôle ait une propriété Pieces (par exemple) qui est une collection de PiePiece (une ObservableCollection de préférence, enfin ça dépend de comment tu l'utilises). Pour pouvoir mettre directement les PiePieces dans le PiePlotter, il faut que tu appliques l'attribut [ContentProperty] à ton contrôle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [ContentProperty("Pieces")]
    public class PiePlotter : UserControl
    ...
    Ca indique au parser XAML que le contenu de l'élément PiePlotter doit être ajouté à la propriété Pieces (n'oublie pas d'initilaliser cette collection dans le constructeur)

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Pour la première question, pas trop d'idée...



    Il faut que ton contrôle ait une propriété Pieces (par exemple) qui est une collection de PiePiece (une ObservableCollection de préférence, enfin ça dépend de comment tu l'utilises). Pour pouvoir mettre directement les PiePieces dans le PiePlotter, il faut que tu appliques l'attribut [ContentProperty] à ton contrôle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [ContentProperty("Pieces")]
    public class PiePlotter : UserControl
    ...
    Ca indique au parser XAML que le contenu de l'élément PiePlotter doit être ajouté à la propriété Pieces (n'oublie pas d'initilaliser cette collection dans le constructeur)
    Nikel, merci bien je ne connaissais pas le ContentProperty !

    Pour ma première question, pas possible de créer un Flux qui serrait la sortie standard, j'ai regarder sur google mais je trouve rien concernant ce sujet ça m'étonne que personne n'est pas déjà cherché a faire ça.

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour la question sur le Shell, redirection des input/output console du programme exécute comme ceci ?
    http://www.c-sharpcorner.com/UploadF...icProcess.aspx

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Pour la question sur le Shell, redirection des input/output console du programme exécute comme ceci ?
    http://www.c-sharpcorner.com/UploadF...icProcess.aspx
    Je fais déjà quelque chose de semblable à ceci. Le problème est que dans mon Exemple Emacs est une applications, un éditeur de texte en mode console en gros comme VI ou autre, pour les applications qui retourne tout de suite un flux ca fonctionne nickel mais pour emacs voila quoi...

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    J'ai un petit souci concernant une Collections, en fait à chaque ajout d'item dans cette collection je voudrais en être notifié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    [ContentProperty("Children")]
        public partial class PieChart2D : UserControl
        {
            public PieChart2D()
            {
                InitializeComponent();
                this.Children = new ObservableCollection<PieSlice>();
             }
            #region Dependancy Property Children
            public static DependencyProperty ChildrenProperty = DependencyProperty.Register("Children", typeof(ObservableCollection<PieSlice>), typeof(PieChart2D), new UIPropertyMetadata(null, ChildrenChangedCallBack));
            public ObservableCollection<PieSlice> Children
            {
                get { return (ObservableCollection<PieSlice>)(this.GetValue(ChildrenProperty)); }
                set { this.SetValue(ChildrenProperty, (ObservableCollection<PieSlice>)value); }
            }
            private static void ChildrenChangedCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
            {
                PieChart2D Chart = (PieChart2D)d;
                Chart.ConstructPieSlices();
     
            }
            #endregion
    Ici je suis notifié que lorsque ma collection passe de null ... à la valeur de la référence lorsqu'elle est instanciée.. Comment puis-je faire ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#-WPF] Diverses questions
    Par NeoKript dans le forum C#
    Réponses: 15
    Dernier message: 10/12/2009, 16h56
  2. [HTML] Diverses questions sur le HTML
    Par Ekin0X dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 29/06/2006, 10h46
  3. Réponses: 18
    Dernier message: 04/04/2006, 14h31
  4. C++ diverses questions concernant directX
    Par TERRIBLE dans le forum DirectX
    Réponses: 5
    Dernier message: 05/10/2005, 23h09
  5. Diverse question ...
    Par Dims dans le forum Développement
    Réponses: 11
    Dernier message: 13/01/2004, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo