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计算。

  • 相关阅读:
    PHP定时执行计划任务
    MySQL正则表达式 REGEXP详解
    mysql常用的一些命令,用于查看数据库、表、字段编码
    MySQL 编码
    【MySQL】Win7下修改MySQL5.5默认编码格式
    linux下使用svn
    MySql command line client 命令系列
    linux svn
    BZOJ5317 JSOI2018部落战争(凸包)
    Educational Codeforces Round 58 Div. 2 自闭记
  • 原文地址:https://www.cnblogs.com/liangouyang/p/1619715.html
Copyright © 2011-2022 走看看