2011-12-26 2 views
1

사용자 컨트롤 UCConveyorBelt이 있습니다. 내 주 창에는 그리드가 있습니다. 사용자 정의 컨트롤을 눈금에 배치해야합니다. 내가 아는 두 가지 방법이 있습니다.윈도우/그리드 QT 방식으로 WPF 사용자 정의 컨트롤 추가

  1. gridMain.Children.Add(new UCConveyorBelt()); 코드를 사용하면 동적으로 추가 할 수 있습니다. 문제는 디자인보기를 사용하여 사용자 정의 컨트롤을 조작 할 수 없다는 것입니다.
  2. XAML을 직접 사용하십시오. UCConveyorBelt이라는 태그를 추가 할 수 있습니다. 그러나 XAML을 직접 사용하고 싶지는 않습니다. 오류가 발생하기 쉽기 때문에 UI를 조작하는 쉬운 방법이라고 생각하지 않습니다.

두 가지 방법의 문제점은 디자인보기를 사용하여 사용자 정의 컨트롤을 조작 할 수 없다는 점입니다. 디자인보기를 사용하여 UserControl을 추가하고 싶습니다.

최신 버전의 Qt Creator에서이 작업을 수행 할 수 있습니다 (WPF 용이 아님). Qt Creator에서는 QWidget을 하위 클래스화할 수 있으며 사용자 정의 위젯을 작성할 수 있습니다. UI에 QWidget을 추가 할 수 있습니다. 그런 다음 UI의 QWidget은 서브 클래 싱 된 위젯으로 승격 될 수 있습니다. 이렇게하면 디자인보기에서 사용자 정의 위젯을 조작 (크기 조정 등) 할 수 있으며 사용자 정의 위젯 w.r.t.의 상대 위치를 확인할 수 있습니다. 다른 위젯들. WPF에서 비슷한 작업을 수행 할 수 있습니까? 내가 디자인보기 (디자인보기로 드래그 & 드롭)을 사용하여 UserControl을 조작 할

+0

XAML을 사용하여 추가하는 경우 Visual Studio에서 디자인보기를 사용할 수 있어야합니다. 왜 디자인보기를 사용할 수 없습니까? 죄송합니다. 뭔가 빠진 것 같아요. –

+0

@ErenErsonmez : 죄송합니다. XAML을 직접 사용하고 싶지 않은 이유는 별도로 언급되어 있습니다. 네가 옳아. – Donotalo

답변

1

네, 그것은 가능하다 VS 2008를 사용하고

. 사용자 정의 컨트롤이 포함 된 어셈블리를 컴파일했는지 확인하십시오. 그런 다음 Visual Studio의 "도구 상자"창에 컨트롤이 나타나야합니다. 그렇지 않은 경우 도구 상자 창에서 마우스 오른쪽 버튼을 클릭하고 항목 선택을 선택한 다음 어셈블리를 선택할 수 있습니다.

VS 2010/Silverlight 4로 테스트되었습니다. 내가 기억할 수있는 한, 2008 년 및 WPF와 동일합니다.

관련 문제