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

  • 相关阅读:
    Linux Shell 01 脚本与变量
    Linux下shell颜色配置
    Linux下Redis安装及配置
    Linux Shell 03 条件测试
    OSX下VirtualBox安装CentOS
    Log4j配置与使用
    Linux 环境变量的配置
    OS X下安装Redis及配置开机启动
    圈复杂度
    (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
  • 原文地址:https://www.cnblogs.com/starlet/p/2799536.html
Copyright © 2011-2022 走看看