【发布时间】:2010-11-04 16:17:55
【问题描述】:
我正在 Silverlight 中构建一个 wp7 应用程序。我有一些异步加载的内容,以及指示加载尚未完成的消息。一旦内容的列表框不为空,我希望加载消息消失。是否可以仅在 XAML 中执行此操作?类似于将Visibility 属性绑定到StoryListBox.ItemsSource.IsEmpty?
StoryListBox 在数据可用后通过将其ItemsSource 设置为可观察集合来填充。
<TextBox x:Name="LoadingMessage" Text="Loading..." Grid.Row="0" />
<ProgressBar x:Name="LoadingProgress" IsIndeterminate="True" Style="{StaticResource PerformanceProgressBar}" />
<ListBox x:Name="StoryListBox" Grid.Row="0" />
更新:我尝试了以下方法,但它不起作用:
<StackPanel x:Name="Loading" Grid.Row="0" Visibility="{Binding StoryListBox.ItemsSource.IsEmpty, Converter={StaticResource visibilityConverter}}">
<TextBox Text="Loading..." />
<ProgressBar IsIndeterminate="True" Style="{StaticResource PerformanceProgressBar}" />
</StackPanel>
<ListBox x:Name="StoryListBox" Grid.Row="1" />
Loading 堆栈面板永远不会折叠。
【问题讨论】:
-
如果您提供有关如何绑定 ContentListBox 的更多详细信息,我会有所帮助?它的
ItemsSource属性是在内容可用时分配的,还是只是绑定到添加项目的ObservableCollection或ICollectionView? ContentListBox 是你的 xaml 中的“StoryListBox”吗,你能整理一下这种不一致吗??
标签: c# silverlight windows-phone-7