Xamarin Xaml Привязать высоту кнопки к высоте метки - PullRequest
1 голос
/ 27 марта 2019

Я получил ярлык и кнопку рядом друг с другом в сетке. Я пытаюсь заставить кнопку соответствовать ее высоте с меткой.

текущий XAML:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <!-- vessel label and button -->
    <Label StyleClass="headerSub" Grid.Column="0" x:Name="currentVesselLabel" 
           Text="huidig voertuig:"/>
    <Button Grid.Column="1" Text="selecteer voertuig" 
            BindingContext="{x:Reference currentVesselLabel}"
            HeightRequest="{Binding Path=HeightRequest}"
            ClassId="selectVesselButton" x:Name="selectVesselButton"/>
</Grid>

Я попытался установить BindingContext для метки и связать свойство HeightRequest кнопки со свойством Height и HeightRequest метки. Однако оба не работают. Как привязать высоту кнопки к высоте метки?

1 Ответ

1 голос
/ 27 марта 2019

Причина:

Кажется, что вы забыли установить высоту строки. Когда в сетке есть только одна строка. Высота строки по умолчанию будет установлена ​​как высотаэкрана.

Решение:

Установите высоту строки. Используйте следующий код:

<Grid>

    <Grid.RowDefinitions>

        <RowDefinition Height="Auto"/>

    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <!-- vessel label and button -->
    <Label StyleClass="headerSub" Grid.Column="0" x:Name="currentVesselLabel" 
       Text="huidig voertuig:" VerticalTextAlignment="Center" HeightRequest="60"/>
    <Button Grid.Column="1" Text="selecteer voertuig" 
        BindingContext="{x:Reference currentVesselLabel}"
        HeightRequest="{Binding Path=HeightRequest}"
        ClassId="selectVesselButton" x:Name="selectVesselButton"/>
</Grid>
...