Firstly, the reason that Height.Value returns 1 is because Height is GridLength, with GridUnitType of Star. 1 - from the proportional size of the star (for example, Height = "2 *", Height = "3 *", etc.). That is, you cannot read GridLength.Value separately: you must read it in combination with GridUnitType.
. WPF ActualHeight , , . RowDefinition.ActualHeight docs:
, ActualWidth ColumnDefinition ActualHeight RowDefinition , .
, ActualHeight , WPF Measure, 0 .
, ActualHeight: WPF (- ), SizeChanged OnRenderSizeChanged. , , ( ) InvalidateVisual ( - , OnRender).