摘要:本文主要是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(); }
,