2009-06-11 2 views
1

기존 WinForms 프로젝트에 WPF usercontrol을 추가하고 WPF UserControl을 가져 와서 전체 공간을 채우려고합니다.ElementHost로 도킹

단추 클릭에 대한 응답으로 상위 폼 (패널)에 WinForms UserControls를로드하는 현재 프레임 워크가 있습니다. 이것은 내가 후크하려고하는거야 - 현재로드되고있는 WinForms UserControl은 ElementHost를가집니다.

가 계층 구조 :

  • Form1.cs를이 - 동적으로
    • 을 WinForms UserControl을로드의 WinForms 된 UserControls를 가져 패널 포함 - ElementHost을 포함을
      • WPF UserControl을

ElementHost는 도킹을 채우기로 설정하고 다음과 같은 마크 업 (만 최고 수준의 디자인 포함)이있는 WPF UserControl을,이다 ucReport로 설정 하위 속성 :

<UserControl x:Class="MyClassName" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <TabControl HorizontalAlignment="Left" Name="tabControl1"> 
     <TabItem Header="Header1"> 
      ...The interesting stuff goes here 
     </TabItem> 
    </TabControl> 
</UserControl> 

해당 UserControl의 내용은 수평의 I 양식 크기를 조정할 때 수직 확장,하지만 않습니다 콘텐츠는 콘텐츠를 수용 할 수있을 정도로만 확장됩니다.

디자이너에서 WinForms UserControl (ElementHost가있는 것)을 볼 때 문제가 분명합니다. 지정된 WPF 콘텐츠가 렌더링되고 위쪽에서 아래쪽으로 채워지지만 왼쪽에서 오른쪽으로 채워지지 않습니다.

저는 XAML에서 ElementHost 인 부모 컨테이너를 채우기 위해 (아마도 UserControl 선언에?) 설정해야한다는 것을 알고 있습니다. 그냥 찾을 수 없습니다. 재산.

누군가 나를 가르치겠습니까?

답변

3

HorizontalAlignment를 Stretch로 변경하거나 완전히 제거하십시오.

+0

천국에 있습니다. 당연하지. 고맙습니다. –

관련 문제