WPF XAML LINQ:如何只加载一次xml文件?

时间:2011-10-20 07:41:34

标签: c# wpf xml linq

我有一个文本框,当内容发生变化时,我想查询xml文件中与文本框中的文本匹配的元素,并将结果显示在列表框中。

我目前的代码是:

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

我应该如何编码以便只调用一次Load?按原样,每次输入击键时,都会(重新)加载xml文件。感谢。

1 个答案:

答案 0 :(得分:4)

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
   }
}