【发布时间】:2019-06-02 00:09:26
【问题描述】:
我正在尝试将 TextBlock Width 绑定到另一个对象的 Width。
它不起作用,TextBlock 宽度保持为文本长度,而不是“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>
有什么想法吗?
【问题讨论】:
-
以下是否有效?如果解决了您的问题,请考虑接受。
-
您好,感谢您的解决方案我没有测试这个,因为水平方向是必须的。
-
您的生产环境中的真实场景是什么。在这种情况下,当我们设置 Horizontal 时,UI 渲染系统似乎不知道它如何以触发您的问题的 Horizontal 方式渲染您的 textblock 和 listview。通常将其设置为垂直或禁用水平修复此问题。所以问题是你真正的要求是什么,我们可以考虑一个解决方法吗?