我正在使用区域“网格”的动态标记
<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
}
但是这个事件只有在改变图像对象后才可用,这意味着在我需要它之后才可用。