摘要:本文主要是WPF中 FileFolderDialog的相关问题,补充了关于在父窗口弹出子窗口,以及子窗口的相关属性(Data Binding)和命令绑定(Delegate Command)问题,里面还有关于如何使用读写xml文件内容的方法。
需要注意的地方:
(1)对于每一个窗口(父窗口和子窗口),如果涉及到Data Binding相关问题的时候,均需要设置其对应的DataContext(一般为其ViewModel);
(2)对于未在构造函数中初始化的属性,需要在定义的时候进行实例化(如下:),否则将无法使用该属性对象;
private Condition _queryConditions=new Condition(); //这里的创建实例对象很重要 public Condition QueryConditions
{
get { return _queryConditions; }
set
{
queryConditions = value;
this.RaisePropertyChanged("QueryConditions");
}
}
(3)相对路径的使用如下:
private void AddPacsNode()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"..\..\Data\PacsConfig.xml"); //相对路径
//xmlDoc.Load(@"C:\Users\Administrator\Documents\Visual Studio 2015\Projects\Day5\TestOpenFileDialog\TestOpenFileDialog\Data\PacsConfig.xml"); // 绝对路径
XmlNode root = xmlDoc.SelectSingleNode("PACS"); //查找<PACS>
XmlElement xe1 = xmlDoc.CreateElement("PacsNode"); //创建一个<PacsNode>节点
XmlElement xesub1 = xmlDoc.CreateElement("AETitle");
xesub1.InnerText = TempDataView.AETitle; //设置文本节点
xe1.AppendChild(xesub1); //添加到<book>节点中
XmlElement xesub2 = xmlDoc.CreateElement("HostIP");
xesub2.InnerText = TempDataView.HostIP;
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("Port");
xesub3.InnerText = TempDataView.Port;
xe1.AppendChild(xesub3);
XmlElement xesub4 = xmlDoc.CreateElement("HostName");
xesub4.InnerText = TempDataView.HostName;
xe1.AppendChild(xesub4);
root.AppendChild(xe1); //添加到<bookstore>节点中
xmlDoc.Save(@"..\..\Data\PacsConfig.xml"); //相对路径
this.LoadData();
}