隐藏XAML中的元素

时间:2013-09-03 06:57:48

标签: xaml windows-phone-8

我为我的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; }
}

1 个答案:

答案 0 :(得分:2)

我建议您创建一个ObservableCollection个要绑定的对象,并将其添加到LongListSelector,如下所示:

longListSelector.ItemsSource = myCollection;

每当您想要从列表中删除元素时,您只需调用类似myCollection.RemoveAt(0)的内容,列表就会自行更新。