FrameworkElement.ActualWidth Property
Gets the rendered width of this element.
Assembly: PresentationFramework (in PresentationFramework.dll)
Property Value
Type: System.DoubleThe element's width, as a value in device-independent units (1/96th inch per unit). The default value is 0 (zero).
This property is a calculated value based on other width inputs, and the layout system. The value is set by the layout system itself, based on an actual rendering pass, and may therefore lag slightly behind the set value of properties such as Width that are the basis of the input change.
Because ActualWidth is a calculated value, you should be aware that there could be multiple or incremental reported changes to it as a result of various operations by the layout system. The layout system may be calculating required measure space for child elements, constraints by the parent element, and so on.
Although you cannot set this property from XAML, you can base a Trigger upon its value in a style.
Identifier field | |
Metadata properties set to true | None |
The following example displays various width properties.
Private Sub changeWidth(ByVal sender As Object, ByVal args As SelectionChangedEventArgs) Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem) Dim sz1 As Double = Double.Parse(li.Content.ToString()) rect1.Width = sz1 rect1.UpdateLayout() txt1.Text = "ActualWidth is set to " + rect1.ActualWidth.ToString txt2.Text = "Width is set to " + rect1.Width.ToString txt3.Text = "MinWidth is set to " + rect1.MinWidth.ToString txt4.Text = "MaxWidth is set to " + rect1.MaxWidth.ToString End Sub Private Sub changeMinWidth(ByVal sender As Object, ByVal args As SelectionChangedEventArgs) Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem) Dim sz1 As Double = Double.Parse(li.Content.ToString()) rect1.MinWidth = sz1 rect1.UpdateLayout() txt1.Text = "ActualWidth is set to " + rect1.ActualWidth.ToString txt2.Text = "Width is set to " + rect1.Width.ToString txt3.Text = "MinWidth is set to " + rect1.MinWidth.ToString txt4.Text = "MaxWidth is set to " + rect1.MaxWidth.ToString End Sub Private Sub changeMaxWidth(ByVal sender As Object, ByVal args As SelectionChangedEventArgs) Dim li As ListBoxItem = CType(CType(sender, ListBox).SelectedItem, ListBoxItem) Dim sz1 As Double = Double.Parse(li.Content.ToString()) rect1.MaxWidth = sz1 rect1.UpdateLayout() txt1.Text = "ActualWidth is set to " + rect1.ActualWidth.ToString txt2.Text = "Width is set to " + rect1.Width.ToString txt3.Text = "MinWidth is set to " + rect1.MinWidth.ToString txt4.Text = "MaxWidth is set to " + rect1.MaxWidth.ToString End Sub
Available since 3.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0