2011-01-20 8 views
7

저는 조직에서 사용하는 범용 응용 프로그램에 대한 예비 설계를 시작했습니다. 프로그램은 동시에 일반적이고 전문화되어 있어야합니다. 여기에는 모든 워크 플로우에 공통적 인 위젯과 개별 워크 플로우에 대한 고유 한 위젯 (또는 입력 제약 조건)이 포함됩니다. 97 가지 일회용 문제를 피하기 위해 각 워크 플로에 대한 스키마 집합을 만들 계획입니다. 런타임에 사용자는 서버에서 스키마를 선택하고 GUI는 워크 플로우에 적합한 위젯을 표시합니다.동적으로 생성 된 GUI

이것은 .NET 및 Mono에서 실행되는 C# 응용 프로그램입니다. 즉, XAML 및 MonoMac 외에도 GTK #을 조사하고 있습니다.

우리는 대상 GUI 툴킷에 대해 XSLT를 작성하는 것을 고려했습니다. 예 :

  • XSD를 libglade XML로 변환하는 Glade XSLT.

  • XSD를 XAML로 변환하는 XAML XSLT.

  • GUI의 선언적 구문을 지원하지 않는 다른 툴킷의 일반 XML 형식입니다.

  • XSD를 직접 읽고 GUI를 생성하는 클래스 라이브러리.

내 질문은 이것이 이미 존재 하는가? 거기에 GTK # 및 libglade 또는 WPF 및 XAML에 대한 워크 플로우 툴킷이 있습니까?

답변

1

WPF에서 자동으로 사용할 수있는 System.Windows.DataTemplate을 찾으십시오 (속성 DataType 참조). UI를 생성하고 ViewModels 및 적절한 DataTemplates를 구현하는 데 사용되는 모든 UI 블록을 추출 할 수 있다고 생각합니다. 결과 UI는이 블록의 복합 뷰 모델이됩니다.

+0

나는 템플릿을 알고 있습니다. 유용하지만 올바른 XAML을 얻기 위해 XSLT를 처리하지 않습니다. 그것은 크로스 플랫폼이 아닙니다. 템플릿은 GTK 대신 WPF를 목표로 삼는다면 내가 사용하는 도구 중 하나일지도 모르지만 그 사이에 많은 접착제가 있어야 할 것입니다. – Nate

0

XML을 사용하여 동일한 작업을 수행했습니다. 내가하고있는 일은 각 컨트롤의 속성 집합을 XML 파일로 쓴 다음 나중에이를 읽고 창을 다시 생성하는 것입니다.

Some problems I met while doing so

는하지만 그것을 완료 할 수 있었다. 어쨌든 나는 WPF가 더 나은 것 같아. 그러나 만약 당신이 아이디어를 원한다면 나는 단지 당신을 줬다고 생각합니다. (비록 최선의 생각이 아닐 수도 있습니다)

굿 럭

+0

컨트롤의 속성을 저장하려고하지 않습니다. 비슷합니다. 그러나 주어진 워크 플로우에 필요한 일련의 입력을 정의하려고합니다. 이 부분은 XSD에 들어갑니다. GUI는 XSD 자체 또는 XSLT를 가져옵니다. 그런 다음 XSLT 변환에서 XAML 또는 libglade XML을 기반으로하거나 XSD에서 GUI를 생성하여 GUI를 생성합니다. – Nate

관련 문제