如何获取xaml行的高度

时间:2018-10-10 18:56:08

标签: wpf xaml

我的老板问我使用的不同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);
}

1 个答案:

答案 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>

希望这会对您有所帮助。