1

WPFとXamlの新機能です。ドッキング方法を固定する方法がわかりません...この画面では、灰色はstatusBarがドッキングされていますが、グリッドとメニューはすべてのコンポーネントがキャンバスにあるわけではありません。これは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>

代替テキスト

4

1 に答える 1

5

これらのものをCanvas. CanvasWPF でa を使用したことがあるかどうかはわかりません。

DockPanelはあなたの友達で、これがどのように機能するかです:

  • の各コントロールはDockPanelDockPanel.Dock添付プロパティを取得します: Left、Top、Right、または Bottom
  • 何、フィルなし?これは重要です。1 つのコントロールで使用可能なスペースを埋めることができ、それが で宣言された最後のコントロールになりDockPanelます。したがって、「塗りつぶし」コントロールを一番上に配置したい場合でも、DockPaneland セットの最後の項目にしDockPanel.Dock="Top"ます。
  • 最後の「塗りつぶし」アイテムを除いて、同じドック設定を持つ他のアイテムは、宣言された順序でドッキングされます。

最も基本的には、使用可能なスペースを埋めることを除いて、DockPanel同じように使用できます。StackPanel

于 2011-01-05T19:27:42.103 に答える