UWP XAML绑定到另一个对象不起作用

时间:2019-05-23 13:13:34

标签: xaml uwp

我正在尝试将TextBlock Width绑定到另一个对象的Width。

它不起作用,TextBlock Width保持为文本长度,而不是“ BitsListView”宽度。

有趣的是,当我在调试时编辑TextBlock的“宽度”时,绑定工作正常。

<StackPanel >
     <StackPanel Orientation="Horizontal" >
         <TextBlock Text="{x:Bind name}" Width="{Binding ElementName=BitsListView, Path=ActualWidth }"/>
     </StackPanel>

     <ListBox x:Name="BitsListView" ItemsSource="{x:Bind BitsList, Mode=TwoWay}">
         <ListBox.ItemsPanel>
             <ItemsPanelTemplate>
                 <StackPanel Orientation="Horizontal"/>
             </ItemsPanelTemplate>
         </ListBox.ItemsPanel>
     </ListBox>                               
</StackPanel>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

UWP XAML绑定到另一个对象不起作用

问题在于,将TextBlock根面板Orientation属性设置为Horizontal时,内容的宽度将固定。因此,如果您想使Binding工作,请删除Orientation属性,如下所示。

<StackPanel>
    <Border BorderBrush="Red" BorderThickness="2" HorizontalAlignment="Stretch" Margin="0,0,0,0">
        <TextBlock Name="TestBlock"  Text="Test input some"   Width="{Binding ElementName=BitsListView, Path=ActualWidth}"/>
    </Border>
</StackPanel>