2011-03-22 5 views
0

윈도우 크기를 가져 오도록 객체를 명시 적으로 알려주지 않고 윈도우 크기 조정과 크기를 조정하는 방법을 찾았습니다. 여기 Wpf 윈도우 크기 조정 객체

코드입니다 :
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <WindowsFormsHost Background="{x:Null}" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" Name="windowsFormsHost1" VerticalAlignment="Top" Margin="-1,0,0,0"> 
     <wf:Panel x:Name="pnlLivePreview" /> 
    </WindowsFormsHost> 
</Grid> 

는 예 선행되었다 보여 주었다 here

편집 : 질문 : 왜 패널은 창 크기를 조정하지 않는 이유는 무엇입니까?

+0

그리고 무엇이 문제입니까? –

+0

@Aviad - 아, 작동하지 않습니다. –

답변

0

답변 : 문제는 패널이 아니지만 API의 콘텐츠를 만드는 데 사용됩니다.

1

바인드 따라서 귀하의 윈도우의

<Window x:Name="Root_Window"> 
    <Grid Height="{Binding ElementName=RootWindow, Path=ActualHeight}" 
     Width="{Binding ElementName=RootWindow, Path=ActualWidth}"> 
     <!-- Content Here --> 
    </Grid> 
</Window> 
+0

wpf에서 새로운 것이 었습니다. 어떻게 그렇게할까요? –

+0

그리드 내부의 패널 크기를 조정하지 않습니다. 실제로 크기를 조정하려고합니다. –

+0

@Reza M. 그리드 내부의 패널이 자동으로 사용 가능한 모든 공간을 채우도록 확장됩니다. – Rachel

2

간단히 명시 적 WidthHeight 설정을 제거 폭 높이 /과 HorizontalAlignmentVerticalAlignment 설정, 당신의 높이/폭 : 난

<WindowsFormsHost Background="{x:Null}" 
        Name="windowsFormsHost1" 
        Margin="-1,0,0,0"> 
    <wf:Panel x:Name="pnlLivePreview" /> 
</WindowsFormsHost> 

여기에 야생 추측을 던지 겠지만이 패널은 WinForms이므로 Dock 속성을 Fill으로 설정해보세요.

마크 업에서 작동하지 않는 경우 실제로 작동하는지 확실하지 않으므로 코드에서 수행하십시오.

+0

아무 것도 없을 경우'Grid'를 완전히 제거 할 수도 있습니다. –

+0

그래, 벌써 시도해 봤는데, 그 문제는 창 크기가 조정되는 동안이 아니라로드시 크기가 조절된다는 것입니다. –

+0

@ Dan - 방금 시도했지만 윈도우가로드 될 때 크기가 조절됩니다 .... –