XAML и Бу в Sharpdevelop
Я могу создавать и запускать консольные приложения бу в Sharpdevelop.
Есть ли способ указать пользовательский интерфейс с использованием разметки XAML и написать код в boo для разработки WPF в Sharpdevelop? Если нет, то есть ли другая альтернатива для разработки WPF в Boo?
2 ответа
Решение
Параметр сборки "Страница" для XAML требует, чтобы XamlMarkupCompiler (входит в состав MSBuild) выводил код на языке проекта. Это поддерживается только для C# и VB.
Однако вы можете использовать опцию сборки 'EmbeddedResource', а затем проанализировать.xaml во время выполнения, используя XamlLoader.
Вот пример реализации, извлеченный из http://devpinoy.org/blogs/smash/archive/2006/10/04/XAMl-meets-Boo.aspx (вниз)
import System
import System.Windows
import System.Windows.Markup
import System.Windows.Controls
import System.Windows.Controls.Primitives
import System.IO
import System.Xml
class XamlPanel:
"""Parses a xaml file, returning a Panel, offering node lookup with .Get(NodeName)"""
[Property(Panel)]
private _panel as Panel
public def constructor(filename as string):
# parse the element tree via the XamlReader
streamReader = StreamReader(filename)
xmlreader = XmlReader.Create(streamReader)
_panel = XamlReader.Load(xmlreader)
public def Get(nodeName as string):
return LogicalTreeHelper.FindLogicalNode(_panel, nodeName)