从保存的txt文件更新画布子项

时间:2012-11-30 09:22:30

标签: c# wpf xaml canvas updates

我正在尝试从txt文件中的xaml代码更新画布。 我所做的是一个保存功能,可以保存围绕所有内容的画布。

然后我尝试创建一个加载函数,打开该txt文件并使用该文件中的数据更新画布。

但我的问题是它不会更新现有的画布,而是添加了一个新的画布,所以我有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

1 个答案:

答案 0 :(得分:0)

我相信我确实解决了它。

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

有了这个我只得到一个Canvas,但也许这是错误的方式。