문제

응용 프로그램에서 사용자 인터페이스를 생성하기 위해 Expression Blend와 함께 XAML을 사용하는 데 관심이 있습니다. 그러나 대상 아키텍처의 한계로 인해 WPF 또는 C#을 사용할 수 없습니다.

따라서 내가 관심있는 것은 WPF와 관련이없는 사양 언어로서 "순수한"형태로 XAML을 사용하는 것에 대한이 기술에 대한 경험이있는 사람의 모든 예 / 기존 프로젝트 또는 조언에 있습니다.

구체적인 질문 :

1) WPF 요소가 없거나 C# 백킹 클래스없이 Blend + XAML을 사용할 수 있습니까?

2) 다른 아키텍처를 사용하는 XAML 파서 등의 다른 구현이 있습니까?

3)이 상황에서 도움이 될 수있는 대체 편집기 / 디자이너 도구가 있습니까?

나는 myxaml 및 mycroxaml 프로젝트를 알고 있으며 웹에서 XAML에 관한 많은 리소스를 발견했지만 99%는 WPF와 직접 관련이 있습니다. 이것은 XAML의 개념을 이해하는 데 괜찮지 만 필요한 구애에 도움이되지 않습니다.

많은 감사합니다!

도움이 되었습니까?

해결책

XAML 사양을 확인 했습니까?http://download.microsoft.com/download/0/a/6/0A6F7755-9AF5-448B-907D-13985ACCF53E/ 속도

CLR 4.0의 XAML 2009와 System.xaml.dll은 아마도 기다릴 수 있다면 신이 될 것입니다.

다음은 PDC 프레젠테이션입니다.http://channel9.msdn.com/pdc2008/tl36/

이제 C#을 사용할 수 없다고 말 했으므로 .NET 프레임 워크를 사용할 수 없다고 생각합니다. 또는 모노 사용. 내가 아는 한 모노에서 XAML 지원을 구현할 계획은 없다. 따라서 자신의 XAML 파서를 작성하고 객체 그래프를 작성해야합니다.

물론 당신이 기꺼이 그렇게한다면 XAML 2009 사양을 기다릴 수 있습니다. XAML 언어를 크게 개선 할 수 있습니다.

더글러스

다른 팁

어쨌든 실버 라이트가 당신을 도와 주나요?. 이제 Eclispe와 함께 Silverlight를 사용할 수있는 Eclipse 플러그인이 있습니다. 따라서 Expression Blend를 사용하여 UI를 설계하고 백엔드 코딩에 Java를 사용할 수 있습니다 (미래 계획). 자세한 내용은이 링크를 확인하십시오. http://www.eclipse4sl.org/

XAML 기반 XML 문서를 새로운 AppMaker V3의 핵심으로 사용하고 있습니다. 나는 현재 Ruby에서 Pure 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의 캔버스 명시적인 위치 레이아웃은 간단한 Win32 컨트롤 및 드로잉을 쉽게 구문 분석하고 생성하기 쉽습니다. StackPanel과 같은 제약 기반 레이아웃에 들어가면 많은 WPF 동작을 재현해야합니다.

WPF를 사용하지 않으면 XAML이 핵심으로 XML보다 낫지 않습니다. XAML은 몇 가지 맛을 가지고 있지만 기본적으로 라이브러리 형태의 추가 기능입니다. 바닐라 XAML을 기본으로 사용할 수는 있지만 본질적으로 파서를 읽는 파서와 본질적으로 맵핑하는 코드 프레임 워크를 작성해야합니다. XAML은 스택 패널이 무엇인지 알지 못합니다. 본질적으로 텍스트 데이터를 꺼내어 그것이 무엇인지 알 수있는 것이 무엇이든, 이것은 당신이 누락 된 부분이며, 꽤 큰 부분입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top