zoukankan      html  css  js  c++  java
  • Panel performance

    程序:

    <StackPanel HorizontalAlignment="Left">
        <
    StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
            <
    TextBlock Text="Field 1: " VerticalAlignment="Center"/>
            <
    TextBox Width="100"/>
        </
    StackPanel>
        <
    StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
            <
    TextBlock Text="Field 2: " VerticalAlignment="Center"/>
            <
    TextBox Width="100"/>
        </
    StackPanel>
        <
    StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
            <
    TextBlock Text="Longer Field 3: " VerticalAlignment="Center"/>
            <
    TextBox Width="100"/>
        </
    StackPanel>
    </
    StackPanel>

    有四个StackPanel意味着要执行四次measurement和arrangement,第一个父StackPanel让自己的三个孩子StackPanel执行measurement和arragement,这样性能损失严重,修改为:

    Grid>
        <
    Grid.ColumnDefinitions>
            <
    ColumnDefinition Width="Auto"/>
            <
    ColumnDefinition Width="100"/>
        </
    Grid.ColumnDefinitions>
        <
    Grid.RowDefinitions>
            <
    RowDefinition Height="Auto"/>
            <
    RowDefinition Height="Auto"/>
            <
    RowDefinition Height="Auto"/>
        </
    Grid.RowDefinitions>

        <
    TextBlock Text="Field 1: "
                  
    Grid.Column="0"
                  
    Grid.Row="0"
                  
    HorizontalAlignment="Right"
                  
    VerticalAlignment="Center"/>
        <
    TextBox Grid.Column="1"
                
    Grid.Row="0"/>

        <
    TextBlock Text="Field 2: "
                  
    Grid.Column="0"
                  
    Grid.Row="1"
                  
    HorizontalAlignment="Right"
                  
    VerticalAlignment="Center"/>
        <
    TextBox Grid.Column="1"
                
    Grid.Row="1"/>

        <
    TextBlock Text="Longer Field 3: "
                  
    Grid.Column="0"
                  
    Grid.Row="2"
                  
    HorizontalAlignment="Right"
                  
    VerticalAlignment="Center"/>
        <
    TextBox Grid.Column="1"
                
    Grid.Row="2"/>
    </
    Grid>

     这样只有一个panel,只需要执行一次measurement 和 arrangement计算。

  • 相关阅读:
    maven_Error building POM (may not be this project's POM)错误
    jmeter经验---java 追加写入代码一例
    java I/O Stream 代码学习总结
    java 布尔值一种赋值方法
    Spring cloud config 使用gitHub或者gitee连接
    linux/mac下一键删除下载失败的maven jar包
    MYSQL主从复制制作配置方案
    centos7 下解决mysql-server找不到安装包问题
    基于存储过程的百万级测试数据自动生成
    mysql慢查询,死锁解决方案
  • 原文地址:https://www.cnblogs.com/liangouyang/p/1619715.html
Copyright © 2011-2022 走看看