wpf контроль ширины привязки - PullRequest
27 голосов
/ 03 мая 2011

У меня есть две границы с содержимым, Ширина второй границы изменяется в зависимости на содержание, я пытаюсь привязать первую границу ко второй ширине границы, но это не работает, и я не уверен, что мне не хватает. Может кто-нибудь дать мне направление, пожалуйста? Ниже приведен пример того, что я сейчас пытаюсь.

<Border x:Name="border1" Width="{Binding Path=Width, ElementName=border2}">
    ... 
</Border>

<Border x:Name="border2">
    ...
</Border>

Ответы [ 2 ]

38 голосов
/ 03 мая 2011

Измените путь на ActualWidth.

1 голос
/ 14 августа 2016

также изменить путь на ViewportWidth!

<Grid x:Name="mainGrid">
//and some elements exist there
  <Grid> 
    <Border x:Name="border_btn" Width="{Binding ElementName=root ,Path=ViewportWidth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>  
  </Grid>
</Grid>

используйте ViewportWidth вместо ActualWidth, потому что в этом случае ActualWidth всегда отображается 0! для проверки этой проблемы вы можете проверить это с помощью этой строки в вашем xaml.

  <TextBlock Text="{Binding  ElementName=mainGrid, Path=ActualWidth ,Mode=TwoWay}" Foreground="Red"/>
...