2012-12-18 2 views
0

저는 WPF를 처음 사용하고 winforms에 익숙합니다. 컴파일 된 출력이 디자인보기에서와 왜 다른지 이해할 수 없습니다. 나는 이것이 약간 짜증나고 오도하는 것으로 생각한다.WPF 컴파일 할 때 화면에 보이는 것을 표시하지 않습니다.

요소를 추가 할 때 빨간색 경계선에 맞춰서 결과가 컴파일 된 창에 표시되는 것과 일치하지 않습니다. winforms에서는 테이블 레이아웃, 패널 및 도킹 및 정렬 항목을 사용하는 데 익숙합니다. 일관된 결과를 얻기 위해 WPF에서이를 수행하는 적절한 방법이 있습니까?

Designer View

WPF에서에서 XAML은

<Window x:Class="WpfApplication4.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="300" Margin="10,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="497"/> 
    </Grid> 
</Window> 

The output

답변

2

대부분의 용기는 어린이 위치의 개념이 없습니다. 대신 대부분의 컨트롤은 Margin, HorizontalAlignmentVerticalAlignment과 같은 속성을 사용하여 레이아웃을 정의합니다. 또한 특정 컨테이너는 다른 기능을 제공합니다. 도킹을 원할 경우 DockPanel을 사용할 수 있습니다. 누적 된 요소가 필요하면 StackPanel 등을 사용할 수 있습니다. 나는 당신이 온라인으로 약간의 튜토리얼을 찾을 것을 제안한다, 그것은 많은 자원이다. 당신이 당신의 컨트롤이 완전히 컨테이너를 채울 자사의 XAML 코드에서 Margin, VerticalAlignment, HorizontalAlignment, WidthHeight 속성을 제거 할 경우 경우

.

+0

감사합니다. 나는이 차이점에 대해 배워야 할 것이다. 한가지 주목할 점은 SizeToContent를 WidthAndHeight로 설정하면 여분의 빈 공간을 방지하는 항목에 창을 스냅 할 수 있습니다. – MCSharp

+0

익숙해지면 WPF/SL이하는 것처럼 훨씬 직관적이며 강력하다는 것을 알게 될 것입니다. 앵커와 좌/우로 손으로 물건을 배치하는 것은 단지 추억이됩니다. 상대 레이아웃을 사용하면 화면의 크기를 조정하거나 다른 해상도의 장치에서 사용할 때 앱의 크기가 잘 조정됩니다. – Charleh

관련 문제