Привязка высоты определения строки сетки к ширине определения столбца

#wpf #xaml #binding #grid

#wpf #xaml #привязка #сетка

Вопрос:

Я пытаюсь привязать высоту моего RowDefinition к ширине моего ReferenceColumn .

 <Grid x:Name="SelectionElements">
    <Grid.RowDefinitions>
        <RowDefinition Height="{Binding Path=Width.Value, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=Width.Value, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=Width.Value, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=Width.Value, ElementName=ReferenceColumn}" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition x:Name="ReferenceColumn" Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
</Grid>
  

Но это не работает (без ошибок или чего-либо еще).

Ответ №1:

Установите фактическую ширину:

     <Grid.RowDefinitions>
        <RowDefinition Height="{Binding Path=ActualWidth, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=ActualWidth, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=ActualWidth, ElementName=ReferenceColumn}" />
        <RowDefinition Height="{Binding Path=ActualWidth, ElementName=ReferenceColumn}" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition x:Name="ReferenceColumn" Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
  

Ответ №2:

Используйте ActualWidth вместо Width.