Ejemplo n.º 1
0
        static void SerializeToStream(DependencyObject d, Stream s)
        {
            Window window = d as Window;

            if (window != null)
            {
                SerializeWindowToStream(window, s);
                return;
            }
            MethodInfo saveLayoutMethod = d.GetType().GetMethod("SaveLayoutToStream", new Type[] { typeof(Stream) });
            object     methodParameter  = s;

            if (saveLayoutMethod == null)
            {
                saveLayoutMethod = d.GetType().GetMethod("WriteToXML", new Type[] { typeof(XmlWriter) });
                methodParameter  = XmlWriter.Create(s);
            }
            if (saveLayoutMethod != null)
            {
                saveLayoutMethod.Invoke(d, new object[] { methodParameter });
                if (methodParameter is XmlWriter)
                {
                    ((XmlWriter)methodParameter).Close();
                }
                return;
            }
            DXSerializer.SerializeSingleObject(d, s, string.Empty);
        }
 void ButtonSave_Click(object sender, System.Windows.RoutedEventArgs e)
 {
     DXSerializer.SerializeSingleObject(targetPanel, LayoutPath, AppName);
 }