从数据库绑定到ListPicker

时间:2013-11-18 18:51:17

标签: database list data-binding windows-phone-8 listpicker

我想用我在名为FriendsClass的数据库中的条目填充ListPicker。

我的XAML:

<toolkit:ListPicker x:Name="friendPicker" SelectionMode="Multiple" Margin="129,283,10,119" BorderBrush="#FF8DCDC1" IsEnabled="False">
    <toolkit:ListPicker.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}"/>
        </DataTemplate>
    </toolkit:ListPicker.ItemTemplate>
</toolkit:ListPicker>

我的CS:

 SplitDataContext db = new SplitDataContext("Data Source=isostore:/S.sdf");

 List<FriendsClass> source = new List<FriendsClass>();
 var friendQuery = from friend in db.Friends select friend;

 foreach (var friend in friendQuery)
 {
     source.Add(new FriendsClass(){Name = friend.Name});
 }
 this.friendPicker.ItemsSource = source;

当我运行我的应用时,ListPicker会显示“Split.ViewModels.FriendsClass”,而不是名称本身。

这是我的朋友列表 enter image description here

但这是我的ListPicker上出现的内容 enter image description here

我失踪了什么?我已经尝试在我的查询中放置一个ToList()函数,但它仍然是相同的。当我将ListPicker绑定到XAML中的Friends表时,绝对不会出现任何内容。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

想出来:我在我的xaml中使用 FullModeItemTemplate 而不是常规的 ItemTemplate

<toolkit:ListPicker x:Name="friendPicker" SelectionMode="Multiple" Margin="129,283,10,119" BorderBrush="#FF8DCDC1" IsEnabled="False" >
    <toolkit:ListPicker.FullModeItemTemplate>
        <DataTemplate>             
            <TextBlock Text="{Binding Name}"/>
        </DataTemplate>
    </toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>