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

  • 相关阅读:
    HTTP 和 HTTPS
    HTTP 协议
    基础查询
    python编程从入门到实践笔记
    python-32-类的组合与初识继承
    python-31-初识面向对象与自定义类
    python-30-异常处理
    python-29-模块与包导入
    python-28-序列化模块
    python-27-其他常用模块(二)
  • 原文地址:https://www.cnblogs.com/starlet/p/2799536.html
Copyright © 2011-2022 走看看