Cela semble être une question aussi simple, mais j'ai essayé d'une heure et je ne peux pas sembler la comprendre. P>
Tout ce que je veux faire est de remplir le Wwindow avec une toile. Je n'ai pas pu trouver de propriétés pour permettre cela, et la seule façon de penser à le faire est de définir dans WinForms Docking Un élément dans un conteneur parent était facile. P> canvas.width / hauteur = mainwindow.width / hauteur code>, mais je devrais faire que chaque fois que la fenêtre est redimensionnée. p>
4 Réponses :
Il suffit de définir la toile. HorizontalalInGIGNEMENT et verticalalignment à "étirer". Cela provoquera que la toile remplisse l'espace disponible à partir de son élément d'interface utilisateur. Assurez-vous de ne pas spécifier explicitement de largeur / hauteur explicitement.
in xaml, il s'agit simplement de: p>
Et assurez-vous simplement que vous n'avez pas défini explicitement les propriétés de largeur / hauteur sur votre canevas.
Cela marche. Je sais que je l'ai essayé plus tôt et que cela ne fonctionnait pas, mais qui sait. Merci. --Edit: j'ai probablement réglé la largeur / la hauteur.
Meilleur. Ne dépend de rien d'autre.
Il ne fonctionne pas si la toile est des articles de l'article de l'articleControl!
Mettez ceci pour votre largeur de toile et votre hauteur dans XAML.
Width="{Binding Path=ActualWidth, ElementName=Window1}" Height="{Binding Path=ActualHeight, ElementName=Window1}"
Comment ça va? Je pense que la réponse d'Eric est plus simple / robuste que de faire ce genre de liaison.
Nevermind, il semble que vous devez ajouter un dockpanel code>:
Il y a beaucoup de façons de faire cela. Celui-ci est un peu surkill, mais fonctionnera bien.
Conseil: Ne laissez pas ces noms générés automatiquement sur vos contrôles. Donnez-leur des noms significatifs. Vous serez plus heureux lorsque vous n'avez pas à vérifier si le numéro de la plaque d'immatriculation est dans Textbox23 ou Textbox17. Mieux encore, ne les nommez pas du tout si vous n'avez pas besoin de vous référer à ceux-ci: les noms WPF sont facultatifs.
@Martinho, je ne savais pas que les noms étaient facultatifs. Cela convient. Merci.
Dans WPF, vous pouvez faire de l'amarrage en plaçant vos objets dans un quai et en utilisant la propriété héritée du quai. Toutefois, si vous voulez que toute la fenêtre soit une toile, faites-le simplement que le contenu de la fenêtre soit la toile, et non un autre type de panneau:
<Window ...> <Canvas> <!-- blah blah --> </Canvas> </Window>