我在获取毛伊岛元素的实际宽度和高度时遇到问题。 在 WPF 中,我有 ActualWidth 和 ActualHeight,它们在加载元素后给出元素的渲染大小。 但在毛伊岛它总是 NaN。 我有一个简单的网格,例如:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35*"/>
<RowDefinition Height="30*"/>
<RowDefinition Height="35*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" VerticalOptions="Fill" HorizontalOptions="Fill"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="60*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" VerticalOptions="Fill" HorizontalOptions="Fill"/>
<Border x:Name="CenterBorder" Grid.Column="1" VerticalOptions="Fill" HorizontalOptions="Fill"/>
<Border Grid.Column="2" VerticalOptions="Fill" HorizontalOptions="Fill" />
</Grid>
<Border Grid.Row="2" VerticalOptions="Fill" HorizontalOptions="Fill"/>
</Grid>
现在,我只想获取“CenterBorder”的渲染宽度和高度。但这些值永远不会被设置。我认为这与布局完全动态有关,但我不想使用固定尺寸。
您需要从其基类中读取宽度;
View
或 ViewElemement
。
(CenterBorder as View).Width
首先确保页面完全渲染。