WPF - Redimensionnement des contrôles dans une fenêtre de redimensionnement
Donc je suis assez nouveau à WPF et je vais avoir des ennuis avec la mise en page de ma Fenêtre. Actuellement, j'ai une application WPF avec une Grille définie en tant que telle:
<Grid.RowDefinitions>
<RowDefinition Height="23" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Dans le très haut, qui s'étend sur deux colonnes, j'ai un Menu. Dans la deuxième ligne j'ai quelques Étiquettes dans la première colonne et d'une Image et d'un WindowsFormsHost dans le second, enfin, dans la troisième ligne, j'ai un graphique de contrôle dans la deuxième colonne. Par défaut, j'ai mis la taille de l'Image et de la FMH à 570 x 413. Maintenant, j'aimerais que l'Image et de la FMH pour développer lors de ma Fenêtre est redimensionnée, tels qu'ils maintiennent le même (par la Fenêtre) taille. (En fait, je voudrais le même pour arriver à mon graphique de contrôle en tant que bien, mais je peux probablement trouver que l'un si je peux obtenir les autres. Je ne peux pas pour la vie de me comprendre à quel réglage je dois activer/désactiver ou de ce que je pourrais avoir besoin de se lier ou que ce soit dans le but de faire ceci se produire. Toute aide est grandement appréciée!
Merci!
Vous écrivez que vous avez une image et un WindowsFormsHost dans la même cellule de la grille. Sont-ils au-dessus des autres ou quoi? Comme jsmith dit, l'utilisation * au lieu de l'Auto.
Programmeur: Oui, ils sont sur le dessus de l'un à l'autre un seul est visible à un moment donné en fonction de ce que l'application est en train de faire (ce que "mode" c'est dans).
OriginalL'auteur JToland | 2010-08-16
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé:
Assurez-vous d'attribuer votre Grille.Ligne au sein de votre image ou de contrôle, mais ne signez pas le contrôle de la hauteur/largeur de propriétés. Le contrôle doit autosize avec l'extension.
Mise à jour
Fait un rapide test pour s'assurer que cela fonctionne.
L'image s'agrandit avec l'application basée sur les proportions de l'image. Il ne s'élargir, mais il conserve ses dimensions ainsi que la totalité de l'image à afficher. Si vous deviez modifier les rowdefinition de * * * * * Auto, vous remarquerez que l'image s'élargir, mais il s'étendra au-delà de votre point de vue. Ce qui signifie que vous ne sera pas toujours voir l'image complète.
Je suggère de faire une simple application comme ci-dessus, et en jouant avec les contraintes de comprendre ce que chacun fait.
Soyez prudent en utilisant une Toile, les choses ne sont pas automatiquement redimensionner. Aussi, vous êtes à l'aide d'un lot de taille fixe. Si vous voulez que les choses se redimensionnent automatiquement, vous voudrez probablement pour éviter l'utilisation de dimensions fixes, et à moins que vous avez spécifiquement besoin d'utiliser une Toile, je suggère l'utilisation d'une Grille ou d'un autre panneau. Voir ma réponse à quelque chose que les tailles des choses automatiquement, il fera de développement et de maintenance beaucoup plus facile pour vous...
OriginalL'auteur jsmith
Vous avez besoin d'afficher plus d'informations dans votre description, parce que toutes les propriétés de la Grille et de l'Image, etc. seront pris en compte dans la mise en page.
Cependant, vous devriez regarder la HorizontalAlignment et VerticalAlignment de votre Grille et de votre Image, ainsi que le Tronçon de la propriété de l'Image. En outre, vous ne voulez pas spécifier une taille fixe pour l'image (vous pouvez spécifier un MinWidth et un MinHeight si vous voulez qu'ils soient d'une certaine taille lors du démarrage).
Voici un petit exemple qui montre un remplissage de grille d'une fenêtre, avec une mise à l'échelle de l'image.
OriginalL'auteur Wonko the Sane