代码之家  ›  专栏  ›  技术社区  ›  xan

Xaml不是WPF

  •  4
  • xan  · 技术社区  · 16 年前

    我对使用Xaml和表达式混合在应用程序中创建用户界面很感兴趣。然而,由于目标架构的限制,我无法使用WPF或C#。

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

    具体问题:

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

    2) 还有其他使用不同架构的Xaml解析器等实现吗?它们可以与混合或类似工具一起使用吗。

    3) 在这种情况下,是否有其他编辑器/设计器工具可以提供帮助?

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

    非常感谢!

    4 回复  |  直到 11 年前
        1
  •  3
  •   DouglasH    16 年前

    你检查过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
  •  3
  •   Jobi Joy    16 年前

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

        3
  •  1
  •   Andy Dent    16 年前

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

    XAML很容易解析,特别是如果你采用XPath方法:

    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行为。

        4
  •  0
  •   deanvmc    15 年前

    如果你不使用WPF,那么Xaml作为其核心并不比XML好。Xaml有一些风格,但它们本质上是库形式的附加功能。你可以使用Vanilla Xaml作为基础,但你基本上必须构建一个读取它的解析器,然后构建一个它基本上映射到的代码框架。Xaml不知道什么是StackPanel,它基本上会将文本数据发送给任何知道它是什么的人进行编译,这是你会错过的部分,也是一个相当大的部分。