将GridLength转换为Double

时间:2012-05-28 22:03:22

标签: c# xaml windows-8 windows-runtime

我有一个名为addTextBox的TextBox,位于名为addTextBoxRow的行中,其高度为500*

我想在布局发生变化时将addTextBoxRow的高度指定为addTextBox

但是当我尝试addTextBox.Height = addTextBoxRow.Height时,它给了我一个错误,它无法隐式地将类型'Windows.UI.Xaml.GridLength'转换为'double'。

2 个答案:

答案 0 :(得分:5)

GridLength.Value Property

   addTextBox.Height = addTextBoxRow.Height.Value

同时查看调整ActualHeight时调整后Grid属性的变化:

   addTextBox.Height = addTextBoxRow.ActualHeight

答案 1 :(得分:1)

您不需要绑定高度 - 只需允许TextBox伸展就足以让它变得与它所在的行一样高 - 请参阅:

<Grid
    Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition
            Height="100*" />
        <RowDefinition
            Height="500*" />
        <RowDefinition
            Height="100" />
    </Grid.RowDefinitions>
    <TextBox
        Grid.Row="1" />
</Grid>