En XAML comment dire: la valeur par défaut de la largeur et de la hauteur de zone de texte par exemple
Donc, je suis venue à WPF HTML à partir d'un point de vue.
Je veux juste mettre un TextBox
sur ma Fenêtre comme ceci:
<Grid>
<TextBox Name="theName" />
</Grid>
S'avère que le TextBox
est alors ÉNORME, couvre la totalité de la fenêtre. (!)
Ok, ce n'est pas ce que je veux, mais je ne veux pas définir la taille EXACTE, soit depuis que je sais Height
et Width
doit être souple, donc j'essaie:
<TextBox Name="theName" Width="Auto" Height="Auto"/>
Même chose. J'ai donc essayer:
<TextBox Name="theName"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
Même chose. Donc, je viens de coder en dur les tailles:
<TextBox Name="theName" Width="100" Height="20"/>
Qui je sais n'est pas une bonne pratique en WPF.
Alors, comment pouvez-vous dire que TextBox
"afficher les tailles par défaut pour la taille de la police utilisée"?
OriginalL'auteur Edward Tanguay | 2009-02-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre Bryan exemple même un peu plus loin. En spécifiant un alignement particulier qui n'est pas extensible et restreignent encore davantage la zone de texte afin de ne pas étendre au-delà d'une certaine taille. par exemple:
Vous pouvez aller encore plus loin par la mise en place de lignes/colonnes à l'intérieur de la Grille et de les restreindre dans les différents modes. Comme vous venez à partir d'un arrière-plan HTML, pensez-y comme à l'aide d'un tableau de contrôle de la mise en page. N'oubliez pas que vous pouvez également imbriquer d'autres objets conteneur (c'est à dire StackPanels, WrapPanels, d'autres Grilles, etc...).
Le défi avec XAML et WPF/Silverlight contrôles est qu'ils ont une très flexible, de sorte que vous avez à obtenir une poignée sur toutes les options et comment ils affectent la mise en page.
Bonne chance. Je vais à travers ce exactement la même chose maintenant.
OriginalL'auteur Steve Brouillard
Utiliser un autre récipient.
La Grille de toujours s'étire ses contrôles enfants pour remplir la grille de la cellule.
Vous pouvez utiliser par exemple un stackpanel qui seulement s'étire ses contrôles dans un seul sens.
OriginalL'auteur Stefan
Outre l'utilisation d'un autre panneau, comme Stefan mentionné, vous pourriez juste donner à la zone de texte un alignement qui n'est pas Extensible. par exemple,
OriginalL'auteur Bryan Anderson
La taille en WPF ne sont pas les pixels, ils sont indépendante du périphérique "pixels" qui sont 1/96 de pouce - donc, aujourd'hui, dans le normal DPI de l'installation par mise en correspondance 1:1 pour les pixels.
Mais, si vous exécutez le programme en mode haute résolution de la zone de texte va croître avec le DPI (et la police).
Donc un paramètre codé en dur, la taille n'est pas si mauvais que cela.
D'autres que vous ne pouvez utiliser HorizontalAlignment et VerticalAlignment qui ne sont pas "Stretch", ce sera la taille de la zone de texte pour le contenu - mais alors une zone de texte vide sera minuscule.
Vous pouvez définir VerticalAlignment de "Centre", "Haut" ou "Bas" pour obtenir automatique de la hauteur d'une ligne (peut-être sauvegardés par un MinHeight paramètre pour éviter les problèmes vraiment des polices minuscules) et puis définissez la Largeur de sorte que la zone de texte largeur ne change pas que l'utilisateur tape.
OriginalL'auteur Nir