2009-11-13 8 views
5

Quelqu'un at-il des suggestions sur comment insérer une ligne ou une colonne dans une grille WPF en utilisant (de préférence) Visual Studio 2008?Comment insérer une ligne/colonne dans une grille WPF?

Il n'y a pas de problème pour ajouter une nouvelle RowDefinition ou ColumnDefinition, mais je ne suis vraiment pas trop enthousiasmés par la perspective d'incrémenter la Grid.Row ou Grid.Column pour le grand nombre de cellules qui sont affectées par l'insertion. Quelqu'un at-il trouvé une façon intelligente d'automatiser cela (peut-être avec une opération de recherche/remplacement d'expressions régulières)?

Si cela ne peut pas être fait dans Studio, cela peut-il être fait dans Blend?

Répondre

1

Utiliser des grilles de plus petite taille dans vos applications, puis mettre ces grilles à l'intérieur d'autres grilles, ou d'essayer quelques-uns des outils de grille WPF par Karl on WPF

VS2010 ressemble il aura un meilleur éditeur.

Le dégradé est assez bon pour l'insertion de lignes - en mode d'édition de conception, vous pouvez cliquer sur le bord pour ajouter une ligne; Mélange ajustera ensuite votre mise en page pour qu'elle soit la même avec la ligne modifiée. Vous devrez toujours déplacer manuellement les éléments autour de la grille, mais cela devrait représenter moins de travail dans l'ensemble.

0

J'ai eu le même problème et utilisé vim pour incrémenter les numéros de ligne. Ce fut mon expression:

:.,$s/\(Grid.Row="\)\(\d\+\)/\=join([submatch(1),submatch(2)+1],'')/ 

Explication:

:.,$s substitution (:s) de la ligne courante (.) jusqu'à la fin du fichier ($)

/\(Grid.Row="\)\(\d\+\)/ recherches pour Grid.Row=" suivi d'un nombre à 1 chiffre ou plus (\d\+). Les deux parties sont entre \( et pour utiliser la fonction de submatch.

\=join([ ... ],'') les cordes rejoint dans le tableau entre [ et ].

submatch(1), le premier submatch, à savoir le texte Grid.Row="/

submatch(2)+1, la deuxième submatch, à savoir le numéro incrémenté de 1.

Questions connexes