这个想法有意义吗?即通过分析 Moonlight 如何处理 XAML 代码来尝试了解 XAML 的内部工作原理,然后看看是否有办法将 XAML 代码转换为 Javascript 代码?
1 回答
几年前我经历了一个类似的练习(当我在 Moonlight 上工作时,碰巧。)它并没有将 XAML 转换为 javascript,而是将 XAML 嵌入到 html dom 中,然后使用 javascript 代替 C#。
查看https://github.com/toshok/firelight。我还添加了一些 WPF-isms,因为 WPF对 DependencyObject/DependencyProperty 的东西有更明智的实现。
不确定它是否适用于现代浏览器。
该仓库中有几个简单的演示:
https://github.com/toshok/firelight/blob/master/firelight/node.xhtml在文件末尾有 xaml: 命名空间节点。
https://github.com/toshok/firelight/blob/master/firelight/code.xhtml只使用 JS 构建了一个琐碎的场景。
update
- 我检查了 chrome 和 safari (OSX) 上的东西,code.xhtml 似乎在两者上都有效。node.xhtml 有一些问题,也不能在其中工作。进一步的测试,包括位图效果、触发器、设置器、动画、事件和 Britney Spears,是https://github.com/toshok/firelight/blob/master/firelight/xaml.xhtml。