Вопрос

Я заинтересован в использовании Xaml с expression blend для создания пользовательских интерфейсов в приложении.Однако из-за ограничений целевой архитектуры я не могу использовать WPF или C #.

Итак, что меня интересует, так это любые примеры / существующие проекты или советы от любого, кто имеет опыт работы с этой технологией, по использованию Xaml в его "Чистом" виде в качестве языка спецификации, не привязанного к WPF.

Конкретные вопросы:

1) Возможно ли использовать Blend + Xaml без элементов WPF или без вспомогательных классов C #?

2) Существуют ли какие-либо другие реализации анализаторов Xaml и т.д.которые используют разные архитектуры и могут ли они работать с blend или подобными инструментами.

3) Существуют ли альтернативные инструменты редактора / дизайнера, которые могут помочь в этой ситуации?

Я знаю о проектах MyXaml и mycoxaml и нашел в Интернете много ресурсов о Xaml, но 99% из них напрямую связаны с WPF.Это прекрасно подходит для понимания концепций Xaml, но не помогает с нужной мне имплиментацией.

Большое спасибо!

Это было полезно?

Решение

Вы ознакомились со спецификацией XAML?http://download.microsoft.com/download/0/A/6/0A6F7755-9AF5-448B-907D-13985ACCF53E /[MS-XAML].pdf

XAML 2009 и system.xaml.dll в clr 4.0, вероятно, станут для вас божьей милостью, если вы сможете этого дождаться.

вот презентация PDC по этому поводу.http://channel9.msdn.com/pdc2008/TL36/

Теперь, поскольку вы сказали, что не можете использовать C #, я предполагаю, что вы не можете использовать .net Framework??или используя Mono.насколько я знаю, нет планов по внедрению поддержки XAML в Mono.Таким образом, вам либо придется написать свой собственный анализатор XAML, либо Object graph.

Конечно, если вы готовы это сделать, вы можете дождаться спецификации XAML 2009, поскольку она добавляет значительные улучшения в язык xaml.

Дуглас

Другие советы

Silverlight поможет вам в любом случае? Теперь есть плагин Eclipse для использования Silverlight с eclispe. Таким образом, вы сможете использовать Expression Blend для разработки своего пользовательского интерфейса и использовать Java для кодирования бэкэнда (план на будущее, я думаю). Проверьте эту ссылку для более подробной информации. http://www.eclipse4sl.org/

Я использую XML-документ на основе XAML в качестве ядра нового AppMaker v3. В настоящее время я анализирую его в Ruby, чтобы генерировать различные выходные данные, включая чистые приложения WPF для XAML / C #.

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 вы пытаетесь создать. Явный позиционный макет Canvas в XAML легко анализировать и генерировать некоторые простые элементы управления Win32 и рисования. Если вы попадете в макет на основе ограничений, такой как StackPanel, вам придется воссоздать много поведения WPF.

Если вы не используете WPF, то Xaml в качестве его ядра на самом деле не лучше XML. У Xaml есть несколько разновидностей, но они по сути являются дополнительными функциями в виде библиотек. Вы можете использовать Vanilla Xaml в качестве основы, но тогда вам, по сути, придется создать синтаксический анализатор, который читает его, а затем структуру кода, на которую он по существу отображается. Xaml не знает, что такое StackPanel, и, по сути, отправляет текстовые данные для компиляции тем, кто знает, что это такое, это та часть, которую вам не хватает, и ее довольно большая часть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top