我有一个任务,写下一个简单的查看器,它将显示.xaml文件的外观(与VS编辑器相似,但不具备编辑功能)。你能给我任何可以帮助我的参考吗?如何可视化XAML
回答
可以使用XamlReader.Load方法
如果你想只有观众,没有一个设计师,你可以调用XamlReader.Load
方法和结果分配给ContentControl.Content
StringReader stringReader = new StringReader(strXaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
myContentControl.Content = (Button)XamlReader.Load(xmlReader);
编辑 从这个代码加载窗口xaml并显示它
string strXaml = "<Window xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" Title=\"MainWindow\" Height=\"350\" Width=\"525\">" +
"<Grid> <Button Content=\"Button123\" Height=\"23\" HorizontalAlignment=\"Left\" Margin=\"174,41,0,0\" Name=\"button1\" VerticalAlignment=\"Top\" Width=\"75\" />"+
"</Grid></Window>";
StringReader stringReader = new StringReader(strXaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
Window obj = (Window)XamlReader.Load(xmlReader);
obj.Show();
如果你确定根元素是全能的窗口,你可以跳过它。这样的事情对我的作品
StringReader stringReader = new StringReader(strXaml);
var xDoc = XDocument.Load(stringReader).Document.Descendants().First().DescendantNodes().First();
XmlReader xmlReader = xDoc.CreateReader();
uc.Content = XamlReader.Load(xmlReader);
将是更好的检查,如果窗口跳过它
你试过这段代码吗?我得到“根层数据无效,第1行,第1位”。 –
这是因为你的xaml是无效的,是的它的工作原理...请确保你的xaml只有一个根。 –
标准wpf应用程序的mainwindow.xaml文件。最后一行是“this.content = ...” –
假设之前存在与否,这将有助于:Kaxaml编辑 [link] - 与可视化XAML编辑器,开源和下发布MIT许可证。
你应该看XamlServices
类及其Parse
方法开始。
- 1. 如何可视化Erlang gen_fsm
- 2. 如何可视化声音?
- 3. 如何可视化Sklearn GradientBoostingClassifier?
- 4. 如何可视化大图?
- 5. 如何可视化集群
- 6. 如何可视化neo4j图
- 7. 如何可视化heapdump?
- 8. PYSPARK:如何可视化GraphFrame?
- 9. 如何可视化NodeJS .cpuprofile
- 10. VS如何为Xaml文件(WPF项目之外)启用XAML可视化编辑器?
- 11. 在Xamarin项目中可视化编辑XAML文件。 Visual Studio 2012
- 12. 可视化基本可视化
- 13. 有没有简化XAML /可视化树(转换XAML或Silverlight控件实例)的工具?
- 14. 如何绑定到XAML中ContentPresenter的可视内容?
- 15. 如何做算法可视化?
- 16. 如何可视化地表示对象?
- 17. 如何使用Xpath可视化工具
- 18. 如何可视化地图? (图片)
- 19. 如何可视化XML文件
- 20. 如何可视化分层数据?
- 21. 如何可视化工作流程?
- 22. 如何可视化存储过程
- 23. 如何可视化MySQL嵌套集?
- 24. 如何可视化SIFT关键点
- 25. 如何从IDE使用Vpython(可视化)
- 26. 如何可视化RxJava图的执行?
- 27. 如何获得ptree可视化工具?
- 28. 如何可视化Primal-Dual Hill爬坡?
- 29. 如何可视化Caffe参数?
- 30. 可视化音频 - 如何操作
这有帮助吗? http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a53ff197-8703-4c6c-8726-45570304fb7b/ –