WPF FileFolderDialog 和弹出子窗口的一些问题

Posted 积跬步---行千里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF FileFolderDialog 和弹出子窗口的一些问题相关的知识,希望对你有一定的参考价值。

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

 

相关代码地址:http://pan.baidu.com/s/1bpwuJi3

以上是关于WPF FileFolderDialog 和弹出子窗口的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

WPF:设置弹出子菜单的是否可用状态及效果

WPF 在MVVM模式下弹出子窗体的方式

delphi7怎么弹出子窗口

WPF 多屏时子窗口的屏幕位置问题

访问 VBA 弹出子表单以提交条目

Flutter Navigator v2.0 如何弹出子嵌套路由