エリア「グリッド」の動的マーキングを使用しています
<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
}
しかし、このイベントは画像オブジェクトが変更された後にのみ使用可能になります。