2009-04-16 8 views
1

Avant de poser cette question, j'ai examiné toutes les questions connexes, mais je n'ai rien trouvé de pertinent.WPF Window MinWidth en fonction de la taille de la barre d'outils

Dans mon application, j'ai une barre de style de boîte à outils, qui est essentiellement un panneau de pile avec un tas de boutons. L'utilisateur peut changer quels boutons sont affichés dans la barre d'outils.

La largeur de la fenêtre peut être modifiée, mais elle ne peut pas être inférieure à la largeur de la barre d'outils.

Au début, j'espérais lier la propriété MinWidth à la StackPanelWidth la propriété et créer convertisseur qui ajoute quelques pixels à Width du StackPanel. Le problème est que mon convertisseur ne soit pas Largeur de StackPanel, juste NaN comme valeur :(

Malheureusement, StackPanel largeur est réglé sur Auto et je ne peux pas changer cela.

Est-il possible que je puisse faire mon fenêtre MinWidth fiable sur Width de StackPanel?

Répondre

4

Utilisez ActualWidth, non Width.

la largeur est la largeur demandée, ou NaN pour "Auto", ActualWidth est la largeur réelle, une fois que toute la disposition est calculée.

+0

C'est génial! Je voulais savoir comment le faire moi-même. –

+0

Merci pour votre réponse! J'ai essayé d'utiliser ActualWidth, mais il crée un autre problème S'il vous plaît avoir un butin à cet écran tourné http://dl.getdropbox.com/u/204110/actualwidth.PNG Cette solution ne sera pas permettez-moi de faire la largeur de la fenêtre plus petite, elle me permet seulement d'augmenter la largeur –

+0

Définir explicitement horizontalAlignment à gauche, fonctionne comme charme ... Merci. –

Questions connexes