public void Launch() { //XDocument xdoc = null; //using (XmlReader xr = XmlReader.Create(@"J:\a2.xml")) //{ // xdoc = XDocument.Load(xr); //} //var parameters = typeof(MonitorPropertyViewModel).GetConstructors().FirstOrDefault(c => c.GetParameters().Length > 0).GetParameters().Select(p => p.Name).ToList(); //foreach(var e in xdoc.Elements()) //{ // System.Diagnostics.Debug.WriteLine(e.Name); // if (e.Name.Equals("MyPluginscontainer")) // foreach (var ex in e.Descendants()) // System.Diagnostics.Debug.WriteLine(ex.Name); //} //HelperConstructor.MyCreateInstance(p.PropertyType, defaultvalues); LayoutMonitor = new MonitorPropertyViewModel(eventAggregator); var instance = new MonitorViewModel(eventAggregator, resolutionRoot, fileSystem); windowmanager.ShowWindow(instance); }
public void LoadFileContent(MonitorViewModel content) { var types = pluginTypes.Values.SelectMany(x => x).ToArray(); DataContractSerializer dcs = new DataContractSerializer(typeof(MonitorViewModel), types); using (FileStream inputStream = new FileStream(@"j:\a1 - copie.xml", FileMode.Open)) using (XmlDictionaryReader reader = XmlDictionaryReader.CreateTextReader(inputStream, new XmlDictionaryReaderQuotas())) { var memoryStream = new MemoryStream(); content = (MonitorViewModel)dcs.ReadObject(reader, true); inputStream.Seek(0, SeekOrigin.Begin); inputStream.CopyTo(memoryStream); var buffer = Encoding.ASCII.GetString(memoryStream.GetBuffer()).TrimEnd('\0'); } var propertieslist = new List <string> { "Layout", "Appearance", "Behavior" }; LayoutMonitor.BackgroundImage = content.LayoutMonitor.BackgroundImage; LayoutMonitor.FillBackground = content.LayoutMonitor.FillBackground; LayoutMonitor.BackgroundColor = content.LayoutMonitor.BackgroundColor; EnumeratePlugins(content.MyPluginsContainer, propertieslist, this); }