All the controls missing in WPF. Over 1 million downloads.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
3.4 KiB

/*************************************************************************************
Extended WPF Toolkit
Copyright (C) 2007-2013 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public
License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license
For more features, controls, and fast professional support,
pick up the Plus Edition at http://xceed.com/wpf_toolkit
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
***********************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
namespace Xceed.Wpf.AvalonDock.Layout.Serialization
{
public class XmlLayoutSerializer : LayoutSerializer
{
public XmlLayoutSerializer(DockingManager manager)
: base(manager)
{
}
public void Serialize(System.Xml.XmlWriter writer)
{
var serializer = new XmlSerializer(typeof(LayoutRoot));
serializer.Serialize(writer, Manager.Layout);
}
public void Serialize(System.IO.TextWriter writer)
{
var serializer = new XmlSerializer(typeof(LayoutRoot));
serializer.Serialize(writer, Manager.Layout);
}
public void Serialize(System.IO.Stream stream)
{
var serializer = new XmlSerializer(typeof(LayoutRoot));
serializer.Serialize(stream, Manager.Layout);
}
public void Serialize(string filepath)
{
using (var stream = new StreamWriter(filepath))
Serialize(stream);
}
public void Deserialize(System.IO.Stream stream)
{
try
{
StartDeserialization();
var serializer = new XmlSerializer(typeof(LayoutRoot));
var layout = serializer.Deserialize(stream) as LayoutRoot;
FixupLayout(layout);
Manager.Layout = layout;
}
finally
{
EndDeserialization();
}
}
public void Deserialize(System.IO.TextReader reader)
{
try
{
StartDeserialization();
var serializer = new XmlSerializer(typeof(LayoutRoot));
var layout = serializer.Deserialize(reader) as LayoutRoot;
FixupLayout(layout);
Manager.Layout = layout;
}
finally
{
EndDeserialization();
}
}
public void Deserialize(System.Xml.XmlReader reader)
{
try
{
StartDeserialization();
var serializer = new XmlSerializer(typeof(LayoutRoot));
var layout = serializer.Deserialize(reader) as LayoutRoot;
FixupLayout(layout);
Manager.Layout = layout;
}
finally
{
EndDeserialization();
}
}
public void Deserialize(string filepath)
{
using (var stream = new StreamReader(filepath))
Deserialize(stream);
}
}
}