FrameworkElement.ActualHeight Propriété

Définition

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

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();
    }
}
Private Sub BottomAppBar_Opened(sender As Object, e As Object)
    ' AppBar has Opened so we need to put the WebView back to its
    ' original size/location.
    Dim bottomAppBar As AppBar = TryCast(sender, AppBar)
    If bottomAppBar IsNot Nothing Then
        ' Force layout so that we can guarantee that our AppBar's
        ' actual height has height
        Me.UpdateLayout()
        ' Get the height of the AppBar
        Dim appBarHeight As Double = 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()
    End If
End Sub

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é 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 .

S’applique à

Voir aussi

  • ActualWidth
  • Height
  • <xref:Windows.UI.Xaml.FrameworkElement.SizeChanged%0a(frameworkelement_sizechanged.md)>