Xaml不是WPF

时间:2008-10-20 11:37:40

标签: xaml expression-blend

我有兴趣将Xaml与表达式混合一起用于在应用程序中创建用户界面。但是,由于目标体系结构的局限性,我无法使用WPF或C#。

所以,我感兴趣的是任何示例/现有项目或任何有使用Xaml技术的人的建议,其中“纯”形式作为与WPF无关的规范语言。

具体问题:

1)是否可以在没有WPF元素或没有C#支持类的情况下使用Blend + Xaml?

2)是否存在使用不同架构的Xaml解析器等的任何其他实现,并且它们可以与混合或类似工具一起使用。

3)是否有其他编辑/设计工具可以帮助解决这种情况?

我知道MyXaml和MycroXaml项目,并在网上找到了很多关于Xaml的资源,但其中99%直接与WPF有关。这对于理解Xaml的概念很好,但对我需要的实现没有帮助。

非常感谢!

4 个答案:

答案 0 :(得分:3)

Silverlight无论如何都会帮助你吗?现在有一个Eclipse插件可供您使用Silverlight和eclispe。因此,您将能够使用Expression blend来设计UI并使用Java进行后端编码(我认为是未来计划)。有关更多详细信息,请查看此链接。 http://www.eclipse4sl.org/

答案 1 :(得分:3)

您是否查看过XAML规范? http://download.microsoft.com/download/0/A/6/0A6F7755-9AF5-448B-907D-13985ACCF53E/[MS-XAML].pdf

如果您可以等待,XAML 2009和clr 4.0中的system.xaml.dll可能会成为神派。

这是它上面的PDC演示文稿。 http://channel9.msdn.com/pdc2008/TL36/

既然你说你不能使用C#,我猜你不能使用.net框架?或使用Mono。据我所知,没有计划在Mono中实现XAML支持。所以要么你必须编写自己的XAML解析器和对象图。

当然,如果您愿意这样做,您可能需要等待XAML 2009规范,因为它会对xaml语言进行重大改进。

道格拉斯

答案 2 :(得分:1)

我使用基于XAML的XML文档作为新AppMaker v3的核心。我目前正在Ruby中解析它以生成各种输出,包括纯XAML / C#WPF应用程序。

如果采用XPath方法,XAML很容易解析:

windows = []
REXML::XPath.each(doc, "//Window") do |xml|
  windows << Window.new(xml)
end

#... invoking ...

@items = []
xml.each_element("Canvas/*") do |itemXML|
  @items << WindowItem.makeItem(itemXML)
end

我们需要更多信息的真正问题是您尝试生成什么样的GUI。 XAML中的Canvas显式位置布局很容易解析并生成一些简单的Win32控件和绘图。如果你进入像StackPanel这样的基于约束的布局,那么你将不得不重新创建很多WPF行为。

答案 3 :(得分:0)

如果你没有使用WPF,那么Xaml作为它的核心并不比XML更好。 Xaml有一些风格,但它们本质上是库形式的附加功能。您可以使用Vanilla Xaml作为基础,但是您基本上必须构建一个读取它的解析器,然后构建一个它实际映射到的代码框架。 Xaml不知道StackPanel是什么,它本质上发送文本数据,以便通过知道它是什么来编译,这是你将缺少的部分,它是一个非常重要的部分。