我想这是一个非常基本的错误,我应该感到惭愧,但我只是没有看到它。我检查了所有的牙套,他们是正确的。我感谢任何帮助。
using System;
using System.IO;
using System.Xml;
using System.Windows;
using System.Windows.Markup;
using System.Windows.Controls;
namespace AmpelThingy
{
public class Load
{
void Loading() {
StreamReader sR = new StreamReader(@"AA.xaml");
string text = sR.ReadToEnd();
sR.Close();
StringReader stringReader = new StringReader(text);
XmlReader xmlReader = XmlReader.Create(stringReader);
WrapPanel wp = (WrapPanel)System.Windows.Markup.XamlReader.Load(xmlReader);
((MainWindow)System.Windows.Application.Current.MainWindow).SP2.Children.Clear(); // clear the existing children
foreach (FrameworkElement child in wp.Children) // and for each child in the WrapPanel we just loaded (wp)
{
((MainWindow)System.Windows.Application.Current.MainWindow).SP2.Children.Add(CloneFrameworkElement(child)); // clone the child and add it to our existing wrap panel
}
}
/// <summary>
/// Clone a framework element by serializing and deserializing it
/// </summary>
/// <param name="originalElement"></param>
/// <returns></returns>
FrameworkElement CloneFrameworkElement(FrameworkElement originalElement)
{
string elementString = XamlWriter.Save(originalElement);
StringReader stringReader = new StringReader(elementString);
XmlReader xmlReader = XmlReader.Create(stringReader);
FrameworkElement clonedElement = (FrameworkElement)XamlReader.Load(xmlReader);
return clonedElement;
}
}
}
答案 0 :(得分:1)
确保您在项目中引用了System.Windows
,WindowsBase
,System.Xaml
,PresentationFramework
和PresentationCore
。
要添加这些内容,请右键单击您的项目(而非您的解决方案),然后转到添加 - &gt;参考。或者,您可以扩展&#34;参考&#34;项目中的项目,以查看引用的程序集,右键单击References
到Add
也可以。
答案 1 :(得分:0)
检查您的项目参考,至少应该看到:
PresentationCore
PresentationFramework
WindowsBase
WPF应用程序需要哪些。
答案 2 :(得分:0)
您需要添加对此处列出的装配的引用,
Walkthrough: Manually Creating a Windows Presentation Foundation Project Using Visual Studio
PresentationCore
PresentationFramework
WindowsBase
你们很多人也会找到其余的演练。
从这里我偏离了。在对自己造成WPF之前,请考虑在浏览器中托管您的应用程序。