我正在尝试从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
答案 0 :(得分:0)
我相信我确实解决了它。
parentWindow.grid.Children.Remove(parentWindow.canvas);
parentWindow.canvas = (Canvas)System.Windows.Markup.XamlReader.Load(xmlReader);
parentWindow.grid.Children.Add(parentWindow.canvas);
有了这个我只得到一个Canvas,但也许这是错误的方式。