WPF XAML LINQ: Как загрузить XML-файл только один раз? - PullRequest
0 голосов
/ 20 октября 2011

У меня есть текстовое поле, когда его содержимое изменилось, я хочу запросить в xml-файле элементы, соответствующие тексту в текстовом поле, и отобразить результат в списке.

Мой текущий код:

  private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
    {
        var xElem = XElement.Load("ProductTable.xml");
        ...

Как мне написать код, чтобы Load вызывался только один раз?Таким образом, каждый раз, когда вводится нажатие клавиши, XML-файл (пере) загружается.Спасибо.

1 Ответ

4 голосов
/ 20 октября 2011

Переместите xElem в поле вашего класса. Затем в TextChanged проверяется обработчик для null:

class MyControl : UserControl
{
   XDocument productTableDocument;

   private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
   {
      if (productTableDocument == null)   
      {
         productTableDocument = XDocument.Load("ProductTable.xml");
      }
      // continue working with not null productTableDocument
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...