当前位置: 代码迷 >> Windows Mobile >> Linq 联合查询 不能绑定到 ListBox,该如何解决
  详细解决方案

Linq 联合查询 不能绑定到 ListBox,该如何解决

热度:471   发布时间:2016-04-25 07:41:01.0
Linq 联合查询 不能绑定到 ListBox
C# code
            var query = from o in UserModel.GetInstance().DB.DBUsers                        join p in UGroupModel.GetInstance().DB.DBUGroups                        on o.ID equals p.ID                        select new                        {                            o.ID,                            o.Name,                            o.Age,                            p.Desc                        };            //var query = from UGroupTable user in UGroupModel.GetInstance().DB.DBUGroups            //            select user; //使用这句话可以成功绑定到ListBox            int RecCount = query.Count(); //[color=#FF0000]这里的RecCount是大于0的,证明读到值了[/color]                        foreach (var t in query)            { //[color=#FF0000]这里也能看到t里是有值的[/color]            }            listBox3.ItemsSource = query.ToList();


xaml代码:
HTML code
            <ListBox  Height="Auto" HorizontalAlignment="Left" Margin="0,300,0,0" Name="listBox3" VerticalAlignment="Top" Width="Auto">                <ListBox.ItemTemplate>                    <DataTemplate>                        <StackPanel>                            <TextBlock Text="{Binding Path=ID}"/>                            <StackPanel Orientation="Horizontal">                                <TextBlock Text="{Binding Path=Name}"/>                                <TextBlock Text="{Binding Path=Age}" />                                <TextBlock Text="{Binding Path=Desc}" />                            </StackPanel>                        </StackPanel>                    </DataTemplate>                </ListBox.ItemTemplate>            </ListBox>


不解这是啥原因...

------解决方案--------------------
绑定的时机是否正确?

------解决方案--------------------
我不确定你是否需要实现INotifyPropertyChanged去更新你的数据显示
------解决方案--------------------
数据绑定的思路是没有问题的,你可以调试一下,看一下查询出来的query有数据吗?
  相关解决方案