2013-06-25 4 views
0

J'ai une application qui utilise le modèle MVVM. Dans le modèle de vue principale, je crée une vue et son viewmodel d'un autre contrôle.comment connaître la hauteur d'un contrôle? Je reçois NaN

J'ai besoin de connaître la hauteur du contrôle, mais lorsque je crée le contrôle, si je vois la valeur Hauteur du contrôle, je reçois NaN.

-je utiliser ce code dans mon principal modèle de vue:

miSecondControl = new mySecondControl(param1, param2); 

double myHeight = miSecondControl.height; 

Ce contrôle secondaire ne pas utiliser le crépitement MVVM mais il a le code derrière, parce que je ne veux que de l'utiliser pour imprimer un document fixe, donc Je pense que dans ce cas MVVM rendrait la solution plus complexe.

J'ai besoin de la propriété heigh du contrôle pour savoir si j'ai besoin de créer une nouvelle page parce que je n'ai pas d'espace dans la page actuelle.

Merci.

Répondre

1

Les valeurs Hauteur/Largeur sont les valeurs spécifiées au moment de la conception/mise en page.

Utilisez FrameworkElement.ActualHeight et FrameworkElement.ActualWidth pour obtenir le rendu Hauteur/largeur d'un contrôle.

+0

ActualHeight est 0.0 dans mon cas. Ne est pas mis à jour jusqu'à ce que je montre le dialogue. J'ai besoin de connaître la hauteur avant de montrer la fenêtre. –

+1

Comment pouvez-vous connaître la largeur/hauteur de votre contrôle s'il est caché? – Cybermaxs

+0

Oui, mais si créé le contrôle mais je ne montre pas, j'ai pensé que ces valeurs sont disponibles. –

Questions connexes