我为我的WP8应用定义了一个XAML页面,该应用当前包含LongListSelector
ItemTemplate
。
我正在输出一些个人信息,如姓名和年龄。每个都是TextBlock
定义如下:
<TextBlock Text="{Binding Age, StringFormat='Age: {0}'}" Visibility="{Binding AgeVisibility}"/>
问题是用户并不总是输入所有数据,因此有时缺少某些属性(如年龄)。在这些情况下,我想删除 TextBlock
。
使用类似的代码(注意使用Visibility
属性),只有隐藏元素,这会在表单中留下一个丑陋的空间。
有没有办法从列表中删除元素,如果它可能未定义/缺失?
编辑:我应该注意,当我做时使用LongListSelector
,它实际上只包含单个元素。然后将此元素绑定到具有许多属性的纯数据类:
public class Details
{
public string Name { get; set; }
public string Age { get; set; }
}
答案 0 :(得分:2)
我建议您创建一个ObservableCollection
个要绑定的对象,并将其添加到LongListSelector
,如下所示:
longListSelector.ItemsSource = myCollection;
。
每当您想要从列表中删除元素时,您只需调用类似myCollection.RemoveAt(0)
的内容,列表就会自行更新。