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

时间: 2024-12-19 16:35:02

WPF FileFolderDialog 和弹出子窗口的一些问题的相关文章

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

需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用:不可用是呈灰色效果. 注: 菜单项都是依据层级数据模板.具体格式如下: StackBlock{TextBlock{Image}.TextBlock}} 问题: 1.窗体加载后,获取不到二级子菜单控件(二级菜单项弹出后,可获取所有二级子菜单). 注:仅能获取一级菜单控件,但能获取二级子菜单绑定的数据源. 2.层级数据模板内StackBlock设置为不可用时(绑定数据源实现),弹出子菜单不可用,但恢复程序中恢复StackBlock设置为可用

【网页前端】WeX5架构下,WinDialog子窗口1传递参数给主窗口关闭,再弹出子窗口2失败

子窗口1的参数传递和关闭窗口函数         this.owner.send({            name:name.toString(),            value:id        }); this.close(); 子窗口2打开的函数 case window.mainRetName.SelectSchool:                    //justep.Util.hint(event.data.value);                    this.

URL传参中文乱码、点链接弹出子窗口

方法一: String ssdwhbm = new String(getRequest().getParameter("ssdwhbm").getBytes("iso8859-1"),"utf-8"); 方法二: <a href="javaScript:void(0)" onclick="paixu('${l.ssdwhbm}')" >排序</a> <script type=&

asp.net下用js实现弹出子窗口选定值并返回

对应上一篇博客代码: 父页面: 1 <head runat="server"> 2 <meta http-equiv="X-UA-Compatible" content="IE=9" > 3 <title></title> 4 <script type="text/javascript"> 5 function test() { 6 //window.showModa

弹出唯一窗口

一.MDI窗体弹出唯一窗体 private void button1_Click(object sender, EventArgs e) { //设置一个bool变量,用来标记是否有已打开的重名窗口 bool has = false; Form1 form1 = new Form1(); //遍历mdi子窗口 foreach (Form form in MdiChildren) { //判断是否重名 if (form.Name == form1.Name) { //重名时has为true: ha

JavaScript特效实例008-关闭弹出的窗口时,刷新父窗口

实例008                  关闭弹出的窗口时,刷新父窗口 实例说明 关闭弹出的窗口时,同时刷新父窗口,一般用来使父窗口获取最新的数据. 技术要点 本实例主要应用window.open()语句打开新窗口,并在新窗口中应用opener属性,该属性返回一个引用,用于指定打开本窗口的窗口对象. 语法: window.opener window.opener.方法 window.opener.属性 功能:返回的是一个窗口对象.opener属性与打开该窗口的父窗口相联系,当访问子窗口中op

如何弹出一个窗口气泡(使用定时器向上移动)

原文链接:http://blog.csdn.net/tangaowen/article/details/5108980 如何弹出一个窗口气泡 最近在工作中遇到这样一个需求,就是需要将一个窗口从右下角任务栏下面缓缓的上升到任务栏的上面,现在有很多的软件都有这样的气泡,比如:搜狗输入法的词条更新窗口,还比如CSDN的广告窗口等等. 1.首先 将要弹出的窗口移动到任务栏(当前屏幕)以下 2.然后,获得任务栏(本质是个窗口)的高度,这样就可以知道窗口最终的位置了 3.然后,计算获得窗口最终停止的位置:计

安装jmeter以后打开会弹出命令窗口提示:WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0 x80000002. Windows RegCreateKeyEx(...) returned error code 5.

安装jmeter以后打开会弹出命令窗口提示: WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0 x80000002. Windows RegCreateKeyEx(...) returned error code 5. 应该怎么解决: win+R输入regedit 打开REGEDIT.EXE(真恨微软和其regedit.reg). 然后找到HKEY_LOCAL_MACHINE \ SO

帝国CMS弹出登录窗口实现方法

帝国CMS弹出登录窗口实现方法 看到好多网站都用弹出登陆窗口让用户登陆注册,其实就是用JS调用一个DIV层实现的 今天我用帝国CMS具体讲一下怎么实现这个效果: 一.打开帝国CMS后台-公共模板-JS讲用登陆模板 把附件里的调用登陆模板代码复制进去-修改 二.在你的首页加入CSS样式和JS代码 1.CSS: <style> #lggoodBox{ margin:0 auto; padding:0px; text-align:left; width:370px; height:220px; ba