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

  • 相关阅读:
    21. 合并两个有序链表
    169. 多数元素
    关于快速幂取模
    IO帮助类
    XML序列化
    字符操作普通帮助类
    判断是否是手机
    C#命名规范汇总12条
    xamarin android如何将Java.Lang.Object类型转成C#类型
    mqtt服务器apollo的搭建和测试工具paho的使用
  • 原文地址:https://www.cnblogs.com/starlet/p/2799536.html
Copyright © 2011-2022 走看看