zoukankan      html  css  js  c++  java
  • DockPanel—最守规矩布局控件

    DockPanel—最守规矩布局控件

    这样子的一个DockPanel:

        <DockPanel LastChildFill="True">
    
            <TextBlock  Text="1.Dock.Top" DockPanel.Dock="Top" Background="Bisque" Margin="0" Height="50"  VerticalAlignment="Top"/>
    
            <TextBlock  Text="2.Dock.Bottom" DockPanel.Dock="Bottom" Background="GreenYellow"   Margin="0" Height="20" VerticalAlignment="Bottom"/>
    
            <TextBlock  Text="3.Dock.Left" DockPanel.Dock="Left" Background="Tan"  Width="100"  />
    
            <Grid DockPanel.Dock="Right" x:Name="gridRight"  Width="200">
    
                <TextBlock  Text="4.Dock.Right" Background="Honeydew"    HorizontalAlignment="Stretch"/>
    
            </Grid>
    
            <TextBlock  Text="last" Background="Aquamarine" />
    
        </DockPanel>
    

     

    每个元素【守】 这一个边,很乖,中间的那个家伙可以趁父元素LastChildFill="True"的福分,独占剩余的区域。

    守规矩因为两点:

    1. 元素只停靠某一个边,最后一个元素填充空白区域
    2. 严格遵从先来后到原则,尤其是【争议区域】

    利用第一点,将边缘的空间缩进,让中间区域占用大量空间。

            <Grid DockPanel.Dock="Right" x:Name="gridRight"  Width="200">
    
                <TextBlock  Text="4.Dock.Right" Background="Honeydew"    HorizontalAlignment="Stretch"/>
    
                <ToggleButton Content="->" Height="23" HorizontalAlignment="Left" Margin="0,50,0,0"  Name="btnRight" VerticalAlignment="Top" Width="23"  >
    
                    <ToggleButton.Triggers>
    
                        <EventTrigger   RoutedEvent="ToggleButton.Checked">
    
                            <StopStoryboard BeginStoryboardName="collapsed" />
    
                            <BeginStoryboard x:Name="expand"   HandoffBehavior="SnapshotAndReplace">
    
                                <Storyboard  >
    
                                    <DoubleAnimation      Duration="00:00:0.10 "  Storyboard.TargetName="gridRight" Storyboard.TargetProperty="Width" To="50" />
    
                                    <ObjectAnimationUsingKeyFrames      Storyboard.TargetProperty="Content"   >
    
                                        <DiscreteObjectKeyFrame Value="->"  KeyTime="00:00:0.10" />
    
                                    </ObjectAnimationUsingKeyFrames>
    
                                </Storyboard>
    
                            </BeginStoryboard>
    
                        </EventTrigger>
    
                        <EventTrigger RoutedEvent="ToggleButton.Unchecked">
    
                            <StopStoryboard BeginStoryboardName="expand" />
    
                            <BeginStoryboard x:Name="collapsed"   HandoffBehavior="SnapshotAndReplace">
    
                                <Storyboard  >
    
                                    <DoubleAnimation       Duration="00:00:0.10 "    Storyboard.TargetName="gridRight" Storyboard.TargetProperty="Width" To="200" />
    
                                    <ObjectAnimationUsingKeyFrames      Storyboard.TargetProperty="Content"   >
    
                                        <DiscreteObjectKeyFrame Value="<-"  KeyTime="00:00:0.10" />
    
                                    </ObjectAnimationUsingKeyFrames>
    
                                </Storyboard>
    
                            </BeginStoryboard>
    
                        </EventTrigger>
    
                    </ToggleButton.Triggers>
    
                </ToggleButton>
    
            </Grid>
    

    利用第二点,可以根据需要改变布局。

    例如,左侧和下侧 有一个交叉的区域,如果想把这个区域划归左侧,那就把左侧的元素放在  下侧元素的前面,如下:

    <TextBlock  Text="3.Dock.Left" DockPanel.Dock="Left" Background="Tan"  Width="100"  />
    
    <TextBlock  Text="2.Dock.Bottom" DockPanel.Dock="Bottom" Background="GreenYellow"   Margin="0" Height="20" VerticalAlignment="Bottom"/>
    

     

  • 相关阅读:
    访问localhost:8080 提示:位于 XDB 的服务器 localhost 要求用户名和密码 (引用)
    jdk在Windows下为什么要配置环境变量(引用)
    Eclipse 应用的初步认识
    linux awk命令
    CentOS7装好了开始装wrf了
    VMware 虚拟机安装 + Cent OS 7的下载与安装
    准备学习wrf
    全面学习ORACLE Scheduler特性(2)管理jobs
    全面学习ORACLE Scheduler特性(1)创建jobs
    Spring-MVC环境搭建
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/2032778.html
Copyright © 2011-2022 走看看