標籤:studio 未在 man 屬性 min pac 相對路徑 XML app
摘要:本文主要是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 和彈出子視窗的一些問題