TextBlock宽度绑定到GridView

时间:2012-06-16 20:31:05

标签: c# xaml windows-8

在我的XAML页面上,我有一个带有以下绑定的文本块:

<TextBlock Width="{Binding ActualWidth, ElementName=SessionList, Mode=OneWay}" ...  />

这会绑定到网格视图:

<GridView x:Name="SessionList" ItemsSource="{Binding Sessions}"... />

现在,当页面首次加载并且数据可用时,文本块将可见并具有正确的宽度。当页面加载且没有数据时,由于绑定宽度,文本框将不可见。

但是......当我在后台加载数据时,一段时间后数据进入(通过MVVM)列表将会显示,但文本块宽度不会相应改变,并将其设置为{{1没有效果。

任何想法/提示?

2 个答案:

答案 0 :(得分:0)

ActualWidth不是您可以在WinRT中绑定的属性。不确定您是显示静态文本还是绑定文本。如果绑定的文本和数据与GridView相同,那么如果数据为null则它应该消失。如果是静态数据,则使用ValueConverter根据数据为空/空来设置TextBlock的可见性

答案 1 :(得分:0)

这样的绑定问题通常是由不可绑定的属性引起的,即它们不是依赖属性和/或不实现INotifyPropertyChanged。随你。我使用附加依赖属性,或者,如果这不足以涵盖一个行为。现在行为不包含在WinRT中,但是that problem has already been addressed; - )