我有一个文本框,当内容发生变化时,我想查询xml文件中与文本框中的文本匹配的元素,并将结果显示在列表框中。
我目前的代码是:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
var xElem = XElement.Load("ProductTable.xml");
...
我应该如何编码以便只调用一次Load?按原样,每次输入击键时,都会(重新)加载xml文件。感谢。
答案 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
}
}