Я здесь, потому что застрял в этой очень раздражающей проблеме. Я постараюсь объяснить как можно яснее.
У меня есть элемент управления Panorama на моей странице Windows Phone xaml с несколькими PanoramaItems. Внутри каждого PanoramaItem есть Listbox, как в этом примере:
<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);
}
}
Моя проблема в том, что когда я перехожу на эту страницу, загрузка данных занимает слишком много времени, и в моей базе данных больше, чем те бренды (samsung, lg, toshiba ...), которые есть у меня в базе данных. Таким образом, загрузка занимает 15 с или более, мой пользовательский интерфейс зависает, а иногда происходит сбой.
Как я могу сделать это, чтобы загрузить быстрее? Я читал о добавочной загрузке, но я не знаю, как заставить ее работать с моими несколькими списками.
Большое спасибо за потраченное время!
Уровень: Начинающий.