Вы можете попробовать поместить этот код в фоновый поток, чтобы выполнить его, в то время как вы можете заниматься другими вещами в основном потоке.
delcare "private BackgroundWorker backgroundWorker;"в частичном классе MainPage
Поместите этот код в конструктор MainPage () (или MainPage_loaded)
// Инициализирующий фоновый рабочий действительно отображает избранное
if (backgroundWorker == null)
{
backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
}
backgroundWorker.RunWorkerAsync();
, а затем имеетВаш код здесь:
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
XDocument loadedData = XDocument.Load("BigFile.xml");
var data = from query in loadedData.Descendants("w")
orderby (string)query.Element("e")
select new myClass
{
First = (string)query.Element("a"),
Second = (string)query.Element("e")
};
ListBox.ItemsSource = data.ToList<myClass>();
}
Надеюсь, это поможет.