FrameworkElement.ActualHeight Eigenschaft

Definition

Ruft die gerenderte Höhe eines FrameworkElements ab. Siehe Hinweise.

public:
 property double ActualHeight { double get(); };
double ActualHeight();
public double ActualHeight { get; }
var double = frameworkElement.actualHeight;
Public ReadOnly Property ActualHeight As Double

Eigenschaftswert

Double

double

Die Höhe des Objekts in Pixel. Die Standardeinstellung ist 0. Die Standardeinstellung kann auftreten, wenn das Objekt nicht geladen wurde und noch nicht an einem Layoutdurchlauf beteiligt war, der die Benutzeroberfläche rendert.

Beispiele

Dieses Beispiel zeigt ein häufiges Szenario, in dem Sie actualHeight eines oder mehrerer Elemente in der Benutzeroberfläche verwenden, um die Höhe eines der beteiligten Elemente oder eines anderen Elements festzulegen, sodass die gleiche Nettohöhe nach der Aktion beibehalten wird. Dies erfolgt in der Regel als Reaktion auf Ereignishandler, die aufgerufen werden, wenn Elemente geöffnet oder geschlossen werden oder sich der Anzeigebereich ändert.

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

Hinweise

Hinweis

Obwohl es über ein ActualHeightProperty-Sicherungsfeld verfügt, löst ActualHeight keine Eigenschaftsänderungsbenachrichtigungen aus und sollte als reguläre Eigenschaft und nicht als Abhängigkeitseigenschaft betrachtet werden.

ActualHeight ist eine berechnete Eigenschaft. Die Berechnungen sind das Ergebnis eines Layoutdurchlaufs, bei dem das Objekt im Layout entsprechend der Logik seiner aufeinander folgenden layoutbasierten Übergeordneten dimensioniert wird. Weitere Informationen finden Sie unter Definieren von Layouts mit XAML.

ActualHeight kann aufgrund von Vorgängen des Layoutsystems mehrere oder inkrementelle gemeldete Änderungen am Wert aufweisen. Wenn Sie den Wert erhalten, während das Layout noch iteriert wird, berechnet das Layoutsystem möglicherweise weiterhin das erforderliche Maß an Platz für untergeordnete Objekte, Einschränkungen durch das übergeordnete Objekt usw. Da der Wert auf einem tatsächlichen Renderingdurchlauf basiert, liegt er möglicherweise etwas hinter dem festgelegten Wert von Eigenschaften wie Height zurück, der die Grundlage der Eingabeänderung sein kann.

Für die ElementName-Bindung stellt ActualHeight keine Aktualisierungen bereit, wenn es sich ändert (aufgrund seiner asynchronen und berechneten Laufzeit). Versuchen Sie nicht, ActualHeight als Bindungsquelle für eine ElementName-Bindung zu verwenden. Wenn Sie ein Szenario haben, das Updates basierend auf ActualHeight erfordert, verwenden Sie einen SizeChanged-Handler .

Gilt für:

Weitere Informationen

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