2009-10-14 2 views
0

디렉토리를 검색하고, 연결된 .xaml/.xaml.cs 파일 형식의 사용자 컨트롤을 찾아 컴파일/실행 할 수있는 응용 프로그램을 어떻게 만들 수 있습니까? 이것이 가능한가? 이 .exec() 또는 .compile() 클래스가 이것을 할 수있는 어딘가에 있습니까?WPF 응용 프로그램을 사용하여 어떻게 사용자 정의 컨트롤을 만들 수 있습니까?

기본적으로 내가하고 싶은 것은 실행중인 WPF 응용 프로그램을 가지고 있으며 사용자가 원하는 페이지/기능을 설명하는 양식을 작성하게하여 응용 프로그램이 XAML을 생성하고 파일 뒤에 코드를 작성할 수 있습니다. 응용 프로그램을 다시 컴파일 할 필요없이 즉시 사용할 수 있습니다.

답변

0

다른 응용 프로그램에서 사용하기 위해 XAML/CS 구성 요소 생성기가 아닌 알려진 응용 프로그램에서 UI의 동작을 변경한다고 가정합니다. 이미이 작업을 수행하는 응용 프로그램이 있습니다. Expression Blend anyone?

기본 CS를 다시 컴파일해야합니까? 최대한 멀리 볼 수있는 것은 애플리케이션과 UI의 외관과 동작을 변경하는 것입니다. 이것은 xaml 내의 명령 바인딩과 구성 요소의 스타일에 의해 달성 될 수 있습니다.

실제로 필요한 기능을 수행하려면 사용자에게 동작에 대한 유한 한 선택을 제공해야합니다. 애플리케이션이 어떤 행동을하고 UI가 무엇인지 결정해야합니다.

응용 프로그램 bahaviour는 고정 명령으로 제어되며 동작을 변경하기위한 매개 변수를 사용할 수 있습니다.

UI 동작 (모양, 애니메이션 등)은 xaml에서 다룹니다. 응용 프로그램이 브라우저 창에서 실행되는 경우 requried로 필요한 XML을 자동으로 생성하여 기본 응용 프로그램에 연결합니다. 명령을 실행하고 브라우저가 새로운 동작을 실행할 수 있도록합니다.

0

이것은 좋은 아이디어입니까? 나는 이것에 약간 문제를 볼 수있다.

  1. 어떻게 '알고'뒤의 코드는 어떻게 응용 프로그램
  2. 보안의 나머지 부분과 상호 작용하는 것인가? 누군가 메인 애플리케이션을 대신하여 시스템 API 호출을 할 수 있도록 허용합니다.
  3. 응용 프로그램 도메인 ???

대신 ItemsControls 및 DataTemplates를 사용하여 양식을 빌드하십시오. 사용자가 양식에서 원하는 기능을 지정하는 양식에서 어쨌든 '구성 요소'목록을 제시합니다. 각 'Building Block'을 ViewModel로 만들고 각 ViewModel을 DataTemplate 'UserControl'과 연결합니다.

관련 문제