2012-11-30 4 views
0

txt 파일에있는 xaml 코드에서 캔버스를 업데이트하려고합니다. 내가 한 것은 모든 것을 둘러싼 캔버스를 저장하는 저장 함수입니다.저장된 txt 파일에서 캔버스 하위 업데이트

그런 다음 txt 파일을 열고 해당 파일의 데이터로 캔버스를 업데이트하는로드 함수를 만들려고합니다.

하지만 내 문제는 내가 가지고있는 기존의 캔버스하지만 instedd 광고에 새로운 하나를 업데이트하지 않는 것이 2.

내 질문은 새로운 캔버스를 추가하지 않아도 난 내 부하 기능을 수정 어떻게하지만, 저장된 캔버스 하위 만 추가합니다. 이 같은

지금 내 부하 기능 잠금 :

 if (userClickedOK == true) 
     { 
      StreamReader sR = new StreamReader(dlg.FileName); 
      string text = sR.ReadToEnd(); 
      sR.Close(); 

      StringReader stringReader = new StringReader(text); 
      XmlReader xmlReader = XmlReader.Create(stringReader); 

      Canvas canvas1 = (Canvas)System.Windows.Markup.XamlReader.Load(xmlReader); 

      parentWindow.canvas.Children.Clear(); // clear the existing children 
      parentWindow.grid.Children.Add(canvas1); 

Eddit : 새로운 코드 :

 if (userClickedOK == true) 
     { 
      StreamReader sR = new StreamReader(dlg.FileName); 
      string text = sR.ReadToEnd(); 
      sR.Close(); 

      StringReader stringReader = new StringReader(text); 
      XmlReader xmlReader = XmlReader.Create(stringReader); 

      parentWindow.canvas = (Canvas)System.Windows.Markup.XamlReader.Load(xmlReader); 

      parentWindow.grid.Children.Add(parentWindow.canvas); 
     } 

// Nivres

답변

0

나는 내가 그것을 해결 않았다 생각합니다.

  parentWindow.grid.Children.Remove(parentWindow.canvas); 
      parentWindow.canvas = (Canvas)System.Windows.Markup.XamlReader.Load(xmlReader); 
      parentWindow.grid.Children.Add(parentWindow.canvas); 

이걸로 저는 하나의 캔버스 만 얻었지만 어쩌면 잘못된 길을 갈 수도 있습니다.