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

Silverlight Discussion :

modifier par binding la largeur d'une colonne d'un datagrid


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut modifier par binding la largeur d'une colonne d'un datagrid
    Bonjour,

    J'aimerais pouvoir changer la largeur d'une colonne de mon datagrid par un binding d'une propriété "lNom" de mon ViewModel.

    Ma propriété est lNom:
    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
      public Int32 lNom 
            {
                get
                {
                    return 200;
                }
                set
                {
                    if (_lNom != value)
                    {
                        _lNom = value;
                        OnPropertyChanged("lNom");
                    }
                }
            }
    lNom me retourne 200.

    dans mon XAML, j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    <sdk:DataGridTextColumn Header="Nom" Binding="{Binding ProjetNom}" Width="{Binding lNom}" IsReadOnly="True" />
    quand j'exécute, j'ai cette erreur:
    Object of type 'System.Windows.Data.Binding' cannot be converted to type 'System.Windows.Controls.DataGridLength'.
    Si quelqu'un a une idée, elle est la bienvenue.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Ouaip! Malheureusement, les attributs d'une colonne ne se bindent pas car la colonne n'appartient pas à l'arbre visuel.
    Il faut donc que tu passes par un système de triggers comme j'avais fait pour la visibilité d'une colonne:
    http://blog.ou-bien.net/post/2011/02...s-columns.aspx

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Merci pour ta réponse.

    Mon idée était de conserver des largeurs personnalisées de colonnes par utilisateur. Si j'avais pu binder simplement vers des données conservées en base de données, je l'aurais fait.

    Sauf qu'ici, je m'oriente vers l'usine à gaz...

    J'attendrai la version 18

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

Discussions similaires

  1. [XL-2007] Modifier la largeur d'une colonne dans une feuille protégée
    Par Invité dans le forum Excel
    Réponses: 5
    Dernier message: 26/09/2013, 08h59
  2. modifier la largeur d'une colonne datagrid
    Par TheCakeMaker dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/07/2009, 21h27
  3. [vb.net]grid :modifier largeur d'une colonne
    Par roxanne dans le forum Windows Forms
    Réponses: 18
    Dernier message: 30/05/2006, 12h08
  4. Réponses: 2
    Dernier message: 02/05/2005, 11h57
  5. [tableau]largeur d'une colonne
    Par Nadine dans le forum ASP
    Réponses: 2
    Dernier message: 15/03/2005, 21h11

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