web-dev-qa-db-fra.com

wpf control binding binding

J'ai deux bordures avec du contenu, la deuxième largeur de bordure change en fonction du contenu, j'essaie de lier la première bordure à la deuxième largeur de bordure mais cela ne fonctionne pas et je ne suis pas sûr de ce qui me manque. Quelqu'un peut-il me donner des instructions s'il vous plaît? Voici un exemple de ce que j'essaie actuellement.

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

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

Remplacez le chemin par ActualWidth.

38
H.B.

changez aussi le chemin vers 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>

utilisez ViewportWidth au lieu de ActualWidth car dans ce cas, ActualWidth est toujours affiché 0! pour tester ce problème, vous pouvez le tester avec cette ligne dans votre xaml.

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