FrameworkElement.ActualHeight Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la hauteur rendue d’un FrameworkElement. Consultez la section Notes.
public:
property double ActualHeight { double get(); };
double ActualHeight();
public double ActualHeight { get; }
var double = frameworkElement.actualHeight;
Public ReadOnly Property ActualHeight As Double
Valeur de propriété
double
Hauteur, en pixels, de l’objet. La valeur par défaut est 0. La valeur par défaut peut être rencontrée si l’objet n’a pas été chargé et n’a pas encore été impliqué dans une passe de disposition qui restitue l’interface utilisateur.
Exemples
Cet exemple montre un scénario courant dans lequel vous utilisez l’élément ActualHeight d’un ou de plusieurs éléments dans l’interface utilisateur pour définir la hauteur de l’un des éléments impliqués ou d’un autre élément, afin que la même hauteur nette soit maintenue après l’action. Cette opération est généralement effectuée en réponse aux gestionnaires d’événements appelés lorsque des éléments sont ouverts ou fermés, ou lorsque la zone d’affichage change.
void SDKSample::WebViewControl::PageWithAppBar::BottomAppBar_Opened(Object^ sender, Object^ obj)
{
// AppBar has Opened so we need to put the WebView back to its
// original size/location.
AppBar^ bottomAppBar = (AppBar^) sender;
if (bottomAppBar != nullptr)
{
// Force layout so that we can guarantee that our AppBar's
// actual height has height
this->UpdateLayout();
// Get the height of the AppBar
double appBarHeight = bottomAppBar->ActualHeight;
// Reduce the height of the WebView to allow for the AppBar
WebView8->Height = WebView8->ActualHeight - appBarHeight;
// Translate the WebView in the Y direction to reclaim the space occupied by the AppBar.
TranslateYOpen->To = -appBarHeight / 2.0;
// Run our translate animation to match the AppBar
OpenAppBar->Begin();
}
}
void BottomAppBar_Opened(object sender, object e)
{
// AppBar has Opened so we need to put the WebView back to its
// original size/location.
AppBar bottomAppBar = sender as AppBar;
if (bottomAppBar != null)
{
// Force layout so that we can guarantee that our AppBar's
// actual height has height
this.UpdateLayout();
// Get the height of the AppBar
double appBarHeight = bottomAppBar.ActualHeight;
// Reduce the height of the WebView to allow for the AppBar
WebView8.Height = WebView8.ActualHeight - appBarHeight;
// Translate the WebView in the Y direction to reclaim the space occupied by
// the AppBar. Notice that we translate it by appBarHeight / 2.0.
// This is because the WebView has VerticalAlignment and HorizontalAlignment
// of 'Stretch' and when we reduce its size it reduces its overall size
// from top and bottom by half the amount.
TranslateYOpen.To = -appBarHeight / 2.0;
// Run our translate animation to match the AppBar
OpenAppBar.Begin();
}
}
Remarques
Notes
Bien qu’il ait un champ de sauvegarde ActualHeightProperty , ActualHeight ne déclenche pas de notifications de modification de propriété et doit être considéré comme une propriété CLR normale et non comme une propriété de dépendance.
ActualHeight est une propriété calculée. Les calculs sont le résultat d’une passe de disposition, où l’objet est dimensionné dans la disposition en fonction de la logique de ses parents de disposition successifs. Pour plus d’informations, consultez Définir des dispositions avec XAML.
ActualHeight peut avoir plusieurs modifications signalées ou incrémentielles à la valeur en raison d’opérations effectuées par le système de disposition. Si vous obtenez la valeur alors que la disposition est toujours en cours d’itération, le système de disposition peut toujours calculer la mesure d’espace requise pour les objets enfants, les contraintes par l’objet parent, etc. Étant donné que la valeur est basée sur une passe de rendu réelle, elle peut être légèrement en retard par rapport à la valeur définie de propriétés telles que Height, qui peut être la base de la modification d’entrée.
Pour les besoins de la liaison ElementName , ActualHeight ne publie pas de mises à jour lorsqu’il change (en raison de sa nature asynchrone et calculée au moment de l’exécution). N’essayez pas d’utiliser ActualHeight comme source de liaison pour une liaison ElementName . Si vous avez un scénario qui nécessite des mises à jour basées sur ActualHeight, utilisez un gestionnaire SizeChanged .