zoukankan      html  css  js  c++  java
  • Silverlight控件自适应利器UseLayoutRounding属性(解决自适应抖动问题)

    例如:Grid宽度100,分3列显示,那么每一列的宽度33.3333

    <Grid x:Name="LayoutRoot" Background="White" Width="100">
    	<Grid.ColumnDefinitions>
    		<ColumnDefinition  />
    		<ColumnDefinition  />
    		<ColumnDefinition />
    	</Grid.ColumnDefinitions>
    	<Grid.RowDefinitions>
    		<RowDefinition/>
    	</Grid.RowDefinitions>
      	<TextBox Text="TextBox" Grid.Column="0" Grid.Row="0"  />
    	<TextBox Text="TextBox" Grid.Column="1" Grid.Row="0"  />
    	<TextBox Text="TextBox" Grid.Column="2" Grid.Row="0"  />
    </Grid>

    FrameworkElement.UseLayoutRounding 属性

    获取或设置一个值,该值指示在布局过程中是否应该对此元素的大小和位置应用布局舍入。

    属性值
    类型:System.Boolean
    如果应用布局舍入,则为 true;否则为 false。默认值为 false。

    调整代码

    <Grid x:Name="LayoutRoot" Background="White" Width="100" UseLayoutRounding="True">
    	<Grid.ColumnDefinitions>
    		<ColumnDefinition  />
    		<ColumnDefinition  />
    		<ColumnDefinition />
    	</Grid.ColumnDefinitions>
    	<Grid.RowDefinitions>
    		<RowDefinition/>
    	</Grid.RowDefinitions>
      	<TextBox Text="TextBox" Grid.Column="0" Grid.Row="0"  />
    	<TextBox Text="TextBox" Grid.Column="1" Grid.Row="0"  />
    	<TextBox Text="TextBox" Grid.Column="2" Grid.Row="0"  />
    </Grid>

    应用UseLayoutRounding="True"后,有一列宽度会变为34,其余为33达到舍入效果!

    页面自适应时,例如改变窗口大小时,控件会有抖动问题,参考此属性,即可解决!

    MSDN

  • 相关阅读:
    JAVA面试题
    Oracle入门笔记 ——启动进阶
    SQL 基础
    BZOJ 1507 Editor(块状链表)
    BZOJ 1018 堵塞的交通traffic(线段树)
    SPOJ 422 Transposing is Even More Fun(polay计数)
    BZOJ 2754 喵星球上的点名(后缀数组)
    POJ 1568 Find the Winning Move(极大极小搜索)
    Miller-Rabin素数测试学习小计
    Lucas定理学习小记
  • 原文地址:https://www.cnblogs.com/starlet/p/2799536.html
Copyright © 2011-2022 走看看