xaml – 空列表的列表框项模板
发布时间:2020-12-14 04:14:34 所属栏目:Windows 来源:网络整理
导读:我有一个列表框,其中包含在XAML中定义的项模板,如下所示: ListBox Name="listBoxDisruptions" ListBox.ItemTemplate DataTemplate StackPanel Orientation="Horizontal" Margin="0,10" TextBlock Text="{Binding text}" Foreground="Black" FontSize="29"He
我有一个列表框,其中包含在XAML中定义的项模板,如下所示:
<ListBox Name="listBoxDisruptions"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Margin="0,10"> <TextBlock Text="{Binding text}" Foreground="Black" FontSize="29">Hello! some item</TextBlock> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> 现在我想要的是在列表框的中心显示一行文本,以防该列表框的ItemSource为空. XAML是否支持某种无项目模板?像这样的东西: <ListBox Name="listBoxDisruptions"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Margin="0,10"> <TextBlock Text="{Binding text}" Foreground="Black" FontSize="29">Hello! some item</TextBlock> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> <ListBox.NoItemTemplate> <TextBlock Text="No Items to display"/> </ListBox.NoItemTemplate> </ListBox> 那么?
可能有一种XAML方法可以使用类似WPF的技术–
Listbox Item Template for an empty list
但是,在Overflow7中,我无聊尝试使这些工作 – 所以我使用了一个稍微hacky的技巧,而不是添加额外的TextBlock到页面,然后使用: private void PhoneApplicationPage_Loaded(object sender,RoutedEventArgs e) { listBox1.ItemsSource = data; data.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(data_CollectionChanged); } void data_CollectionChanged(object sender,System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (data.Count == 0) textBlock1.Visibility = Visibility.Visible; else textBlock1.Visibility = Visibility.Collapsed; } (Trick从http://forums.create.msdn.com/forums/p/70755/431687.aspx学到的) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |