UserControl で、グリッドの幅と高さをプログラムで取得しようとしています。
これが私のXAML
グリッドです:
<Grid Name="BallGrid" Background="DarkBlue" Height="auto" Width="auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
</Grid>
しかし、これらの両方:
double width = BallGrid.ColumnDefinitions[0].ActualWidth;
double height = BallGrid.RowDefinitions[0].ActualHeight;
0 を返します。
そしてこれら
double width = BallGrid.ColumnDefinitions[0].Width.Value;
double height = BallGrid.RowDefinitions[0].Height.Value;
両方を返す 1 を返す。
実際の幅を、できれば余白のサイズと同じ単位で知りたいです。これらの値をプログラムで取得するにはどうすればよいですか?
列の値は、ProgessChanged メソッドでクエリされます。これは、50 ミリ秒ごとに BackgroundWorker によって呼び出されますが、おそらく違いがあります。