您的位置:首页 > 其它

Silverlight控件自适应利器UseLayoutRounding属性(解决自适应抖动问题)

2012-12-03 14:13 417 查看
例如: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐