【问题标题】:wpf control width bindingwpf 控件宽度绑定
【发布时间】:2011-08-17 21:32:24
【问题描述】:

我有两个带内容的边框,第二个边框宽度根据 在内容上,我正在尝试将第一个边框绑定到第二个边框宽度,但是 它不起作用,我不确定我错过了什么。有人可以给我一些指导吗? 以下是我目前正在尝试的示例。

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

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

【问题讨论】:

    标签: wpf binding width


    【解决方案1】:

    将路径更改为ActualWidth

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

    【讨论】:

    【解决方案2】:

    也改变 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"/>
    

    【讨论】:

    • @Bart 这是一个答案而不是评论!
    • 一个 5 年前的问题已经有一个被接受的答案,如果你认为你的答案更好,它应该比 5 个词更具描述性,并解释为什么你的答案更好。
    猜你喜欢
    • 1970-01-01
    • 2011-06-14
    • 2012-09-13
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2013-10-07
    相关资源
    最近更新 更多