实际显示时,我的控件大小如何为NaN?

时间:2010-03-09 11:47:45

标签: .net wpf grid

我有一个Grid,其中包含一个Image中的Image。图像本身没有设置任何宽度或高度,但通过ColumnDefinition集正确控制其大小。从这里我可以假设图像控制器实际上有一个Width和Height设置,但是当我尝试将另一个元素绑定到它的Width和Height时它不起作用。调试时发现Image.Height和Image.Width的值是NaN。为什么?

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="350"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
        <ColumnDefinition Width="10"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>

    <Grid Grid.Column="0">
        <Image x:Name="_image" Source="image.jpg"></Image>
    </Grid>

 </Grid>

2 个答案:

答案 0 :(得分:3)

您正在寻找.RenderSize或.ActualSize

答案 1 :(得分:1)

调试WHEN?

NAN在布局阶段使用,从控件到“任何你想要的尺寸”或“未定义”。因此,特定阶段的任何断点都可能显示各种尺寸的NAN。

您的控件未定义特定大小,因此自然是“NAN”。最终大小存储在其他属性中;)