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

  • 相关阅读:
    我终于会手打lct了!
    [模板]Dijkstra-优先队列优化-单源最短路
    99999999海岛帝国后传:算法大会
    正在加载中。。。。。
    【题解】CF1054D Changing Array(异或,贪心)
    【题解】P4550 收集邮票(概率期望,平方期望)
    【题解】CF149D Coloring Brackets(区间 DP,记忆化搜索)
    【笔记】斜率优化 DP
    CSP2021 游记
    【题解】洛谷P1502 窗口的星星
  • 原文地址:https://www.cnblogs.com/liangouyang/p/1619715.html
Copyright © 2011-2022 走看看