【发布时间】:2013-07-29 08:34:29
【问题描述】:
我在反序列化 xaml 文件时遇到问题并收到以下错误
我的代码如下:
private void SerializeToXML()
{
FileStream filestream = File.Create(@"H:\test1.xaml");
StreamWriter streamwriter = new StreamWriter(filestream);
foreach (ListViewItem Item in slideListView.Items)
{
string mystrXAMLWrite = XamlWriter.Save(Item.Tag);
streamwriter.Write(mystrXAMLWrite);
}
streamwriter.Close();
filestream.Close();
}
private void DeSerialize()
{
FileStream filestream = File.Open(@"H:\test1.xaml", FileMode.Open);
XamlReader reader = new XamlReader();
slideListView = (ListView)reader.LoadAsync(filestream);
}
如果我在保存后转到 XAML 文件并更改它有问题的各种名称,例如将 slideCanvas 更改为 slideCanvas1 并将 ContextMenu 更改为 ContextMenu1,那么它将加载。但显然这不是一个解决方案,这也意味着重新加载的任何内容都没有指向正确的代码位,因为它们已将数字添加到值中。
有人知道我需要在这里做什么吗?
更新
这是保存一个幻灯片对象时生成的xaml
<Slide imageZIndex="0" editText="False" ClipToBounds="True" xmlns="clr-namespace:StoryboardTool;assembly=StoryboardTool" xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><av:Canvas Background="#FFFFFFFF" Name="slideCanvas" /></Slide>
例如,如果我尝试将其放置在幻灯片对象中
Var obj = (Slide)reader.LoadAsync(filestream);
我遇到了这个 XmalParseExceptionOccured 问题。
【问题讨论】:
标签: c# wpf serialization xamlparseexception