• WPF之布局


         此文目的旨在让人快速了解,没有什么深度,如需深入了解布局,请参考msdn。

         如果你要把WPF当winform使用,拖拖控件也无不可,不过建议还是不要拖的好。

         本文将那些用的比较多的几个布局控件(Grid、UniformGrid、StackPanel、WrapPanel、DockPanel以及Canvas)综合起来,布局那个伟大的乌龟。

         话不多说,贴运行图和代码。

           下面是XAML代码。 

    View Code
    <Window x:Class="LayoutPractice.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="640" Width="640">
            <Grid ShowGridLines="True">
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <Grid.Resources>
                    <Style TargetType="Button">
                        <Setter Property="Width" Value="60"/>
                        <Setter  Property="Height" Value="60"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Border Background="#ff909090" BorderBrush="#ff707070" BorderThickness="1">
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
                </Grid.Resources>
                <StackPanel Orientation="Horizontal"  VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="3">
                    <Button/>
                    <Button/>
                </StackPanel>
                <DockPanel Width="120" Height="120">
                    <Button DockPanel.Dock="Top" Width="Auto" Height="30"/>
                    <Button DockPanel.Dock="Bottom" Width="Auto" Height="30"/>
                    <Button DockPanel.Dock="Left"/>
                    <Button DockPanel.Dock="Right"/>
                </DockPanel>
                <Grid Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <StackPanel Grid.RowSpan="2" VerticalAlignment="Center">
                        <Button/>
                        <Button/>
                    </StackPanel>
                    <StackPanel Grid.ColumnSpan="2" Grid.Row="0"  Grid.Column="1" Orientation="Horizontal">
                        <Button/>
                        <Button/>
                    </StackPanel>
                    <StackPanel Grid.RowSpan="2" Grid.Column="2" Grid.Row="1">
                        <Button/>
                        <Button/>
                    </StackPanel>
                    <StackPanel Grid.ColumnSpan="2" Grid.Column="0" Grid.Row="2"  Orientation="Horizontal">
                        <Button/>
                        <Button/>
                    </StackPanel>
                </Grid>
                <Grid Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                        <Button/>
                    </StackPanel>
                    <StackPanel Grid.Row="1"  Orientation="Horizontal" HorizontalAlignment="Center">
                        <Button/>
                        <Button/>
                    </StackPanel>
                    <StackPanel Grid.Row="2"  Orientation="Horizontal" HorizontalAlignment="Center">
                        <Button/>
                        <Button/>
                        <Button/>
                    </StackPanel>
                </Grid>
                <StackPanel Grid.Row="1" Orientation="Horizontal"  VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Button VerticalAlignment="Bottom"/>
                    <Button RenderTransformOrigin="0.5 0.5" Margin="0 0 0 42">
                        <Button.RenderTransform>
                            <RotateTransform Angle="45"/>
                        </Button.RenderTransform>
                    </Button>
                    <Button VerticalAlignment="Bottom"/>
                </StackPanel>
                <WrapPanel Grid.Row="1" Grid.Column="2"  VerticalAlignment="Center" HorizontalAlignment="Center">
                    <StackPanel Orientation="Horizontal">
                        <Button/>
                        <Button/>
                        <Button/>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal" Margin="60 0 0 0">
                        <Button HorizontalAlignment="Center"/>
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <Button/>
                        <Button/>
                        <Button/>
                    </StackPanel>
                </WrapPanel>
                <UniformGrid Grid.Column="1" Rows="3" Columns="3"  VerticalAlignment="Center" HorizontalAlignment="Center">
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                    <Button/>
                </UniformGrid>
                <Button Grid.Row="2" Grid.Column="1"/>
                <Canvas Grid.Row="1" Grid.Column="1" Width="180" Height="180">
                    <Button Canvas.Left="0" Canvas.Top="0"/>
                    <Button Canvas.Right="0" Canvas.Top="0"/>
                    <Button Canvas.Left="0" Canvas.Bottom="0"/>
                    <Button Canvas.Right="0" Canvas.Bottom="0"/>
                    <Button Margin="60"/>
                </Canvas>
            </Grid>
    </Window>
  • 相关阅读:
    【贪心 堆】luoguP2672 推销员
    【贪心 思维题】[USACO13MAR]扑克牌型Poker Hands
    「整理」[图论]最短路系列
    收集到的小玩意儿
    初遇构造函数
    在2440开发板液晶上显示两行字
    error: converting to execution character set: Invalid or incomplete multibyte or wide character
    宽字节
    宽字符wchar_t和窄字符char区别和相互转换
    linux获取文件大小的函数
  • 原文地址:https://www.cnblogs.com/Fuss/p/2789575.html
Copyright © 2020-2023  润新知