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

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有数据吗?