2011-01-05 4 views
1

임 ...이 화면 회색에 는 상태 표시가 고정되어 있지만 그리드 메뉴는 모든 구성 요소가 캔버스에 없습니다. 이 당신은 이런 일이 Canvas에 가고 싶지 않아 XAMLWPF 및 XAML 문제 WPF & XAML 내가 고정하는 방법을 고정하는 방법을 잘 모릅니다 의 새로운

<Window 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
x:Class="WpfApplication6.MainWindow" 
x:Name="Window" 
Title="MainWindow" 
Width="640" Height="480"> 

<Grid x:Name="LayoutRoot"> 
    <Canvas> 
     <StackPanel Height="40" Width="624" VerticalAlignment="Top" HorizontalAlignment="Center"> 
      <Menu Height="39" Margin="1,0,0,0"> 
       <Menu.Background> 
        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0"> 
         <GradientStop Color="#FFF6F6F6" Offset="0.25"/> 
         <GradientStop Color="#FFEAE8E8" Offset="0.25"/> 
         <GradientStop Color="#FFDCD9D9" Offset="0.8"/> 
         <GradientStop Color="White" Offset="1"/> 
        </LinearGradientBrush> 
       </Menu.Background> 
      </Menu> 
     </StackPanel> 
     <StackPanel Height="356" Canvas.Top="44" Width="161" HorizontalAlignment="Left"> 
      <Expander Header="Expander" Height="107"> 
       <Grid Background="#FFE5E5E5"/> 
      </Expander> 
     </StackPanel> 
     <StackPanel Height="360" Canvas.Left="161" Canvas.Top="40" Width="463"> 
      <DataGrid Height="361"/> 
     </StackPanel> 
    </Canvas> 
    <StackPanel Height="40" Margin="-1,0,0,0" VerticalAlignment="Bottom"> 
     <StatusBar Height="40" Background="#FF897676"/> 
    </StackPanel> 
</Grid> 

alt text

+0

귀하의 질문에 대한 확신이 없습니다. 그리드와 메뉴를 화면의 어디에 위치 시키길 원합니까? – ChrisNel52

답변

5

입니다. WPF에서 Canvas을 사용한 적이 있는지 확신 할 수 없습니다.

DockPanel

은 당신의 친구입니다, 이것은 작동하는 방법이다 : 뭐, 채우기
  • 왼쪽, 위쪽, 오른쪽 또는 아래쪽 다음 DockPanel

    • 각 컨트롤이 DockPanel.Dock 연결된 속성을 가져옵니다? 이것은 중요합니다. 하나의 컨트롤에서 사용 가능한 공간을 채우면 DockPanel에 선언 된 마지막 컨트롤이됩니다. 따라서 "채우기"컨트롤을 가장 위에 표시하려면 DockPanel의 마지막 항목으로 설정하고 DockPanel.Dock="Top"을 설정하십시오.
    • 마지막으로 "채우기"항목 이외의 동일한 도크 설정이있는 항목은 선언 된 순서대로 도킹됩니다.

    DockPanelStackPanel처럼 사용 가능한 공간을 채울 수 있습니다.

  • +0

    감사합니다 ... 앵커와 비슷한 뭔가가 있습니까? –

    +0

    @user 앵커가 없습니다. 각기 다른 유형의 패널이 있으며, 각각은 자체 레이아웃 방식으로 자녀를 배치합니다. 당신은 그 (DockPanel, StackPanel, Grid, FlowLayoutPanel 등)에 익숙해지고 올바른 효과를 내기 위해 올바른 것을 적용하는 법을 배워야 할 것입니다. – Jay