我的老板问我使用的不同xaml页面中行的高度百分比。行高定义为“自动”或“ *”。这是我想到的一种尝试快速求出高度的快速解决方案,然后我可以进行数学运算以获取每一行所占的百分比。不幸的是,它为每个console.writeline操作都写了“ 0”。还有另一种方法吗?
public TestPageConstructor()
{
InitializeComponent();
Console.WriteLine(mygrid.RowDefinitions[0].ActualHeight);
Console.WriteLine(mygrid.RowDefinitions[1].ActualHeight);
Console.WriteLine(mygrid.RowDefinitions[2].ActualHeight);
Console.WriteLine(mygrid.RowDefinitions[3].ActualHeight);
Console.WriteLine(mygrid.RowDefinitions[4].ActualHeight);
}
答案 0 :(得分:3)
您应该在网格加载后运行代码,而不是在构造函数中运行。
样本Xaml代码:
float(re.sub('[a-z]', "", str(num)))
C#代码:
<Grid x:Name="mygrid" Loaded="Mygrid_OnLoaded">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
</Grid>
希望这会对您有所帮助。