我在这里是因为我被困在这个非常烦人的问题上。我会尽量解释清楚。
我的 Windows Phone xaml 页面上有一个全景控件,其中包含多个全景项目。每个 PanoramaItem 内部都有一个列表框,如下例所示:
<controls:Panorama ItemsSource="{Binding ContextCollection}" Title="Choose your model" x:Name="PanoramaAdd">
<controls:PanoramaItem Header="Samsung">
<Grid>
<ListBox height="300" Width="300" Name="Samsung_LBX"/>
</Grid>
</controls:PanoramaItem>
<controls:PanoramaItem Header="LG">
<Grid>
<ListBox height="300" Width="300" Name="LG_LBX"/>
</Grid>
</controls:PanoramaItem>
<controls:PanoramaItem Header="Toshiba">
<Grid>
<ListBox height="300" Width="300" Name="Toshiba_LBX"/>
</Grid>
</controls:PanoramaItem>
我在后台从这样的数据库中提取数据:
public ModelAdd()
{
InitializeComponent();
using (var _Context = new MyDataContext("Data Source=appdata:/DataAccessLayer.sdf;Mode=Read Only"))
{
//pull from my table Samsung all models of Samsung in my Listbox
Samsung_LBX.ItemsSource = _Context.Samsung.Select(x => x.Model);
//pull from my table LG all models of LG in my Listbox
LG_LBX.ItemsSource = _Context.LG.Select(x => x.Model);
//pull from my table Toshiba all models of Toshiba in my Listbox
Toshiba.ItemsSource = _Context.Toshiba.Select(x => x.Model);
}
}
我的问题是,当我导航到此页面时,加载数据需要花费太多时间,而且我的数据库中的品牌(三星、LG、东芝……)还多。因此,加载需要 15 秒或更长时间,我的 UI 冻结,有时它会崩溃。
我怎样才能让它加载得更快?我已经阅读了有关增量加载的信息,但我不知道如何使它与我的几个列表框一起工作。
非常感谢您的宝贵时间!
级别:初学者。