我正在使用区域"网格"的动态标记
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<!--This Grid-->
<Grid Grid.Column="0" Name="gridImage" SizeChanged="gridImage_SizeChanged">
<Image Name="image" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Grid>
在我的代码中,我正在根据包含此图像的"网格"的大小逐像素绘制图像。如何在代码中读取"网格"区域的大小?
属性 gridImage->Width 和 gridImage->Height 允许我设置值,但不能获取它们。
gridImage->Width = 100;//OK
gridImage->Height = 100;//OK
int width = gridImage->Width;//return -2 147 483 648
int height = gridImage->Height;//return -2 147 483 648
如果我对网格区域使用 SizeChanged 事件,那么我可以使用此代码读取大小
void MainPage::gridImage_SizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e)
{
Size size = e->NewSize;
int width = size.Width;//OK
int height= size.Height;//OK
}
但是此事件仅在更改图像对象后才可用,这意味着在那之后我需要它。
使用 ActualWidth 和 ActualHeight 属性分别获取实际宽度和高度(以像素为单位)。与高度,宽度,最小高度,最小宽度,最大高度和最大宽度不同,它们实际上包含高度和宽度。