首页 / C# / c# – 如何强制WPF控件的平滑渲染?
c# – 如何强制WPF控件的平滑渲染?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何强制WPF控件的平滑渲染?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2357字,纯文字阅读大概需要4分钟。
内容图文
![c# – 如何强制WPF控件的平滑渲染?](/upload/InfoBanner/zyjiaocheng/778/42286b1b54124642a0da9460af165751.jpg)
我正在创建一个简单的WPF应用程序,它应该在可滚动区域内组合几个图像.这些图像应该没有边框,只需正确定位就不会有问题.
当我启动应用程序时,一切都按预期呈现.但是当我开始滚动时,图像之间会出现一些(白色)边框. (见截图)
当我在ScrollViewer中开始缩放/缩放时,我认为会出现同样的问题.
所以我的问题是,如何避免这样的边界,使用WPF应用程序,特别是在ScrollViewer中?
以下代码应足以重现该问题:
<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ScrollViewer HorizontalAlignment="Stretch" Name="scrollViewer1" VerticalAlignment="Stretch" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid>
<Grid Background="Black" Width="500" Height="500" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<Grid Background="Black" Width="500" Height="500" Margin="500,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<Grid Background="Black" Width="500" Height="500" Margin="500,500,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<Grid Background="Black" Width="500" Height="500" Margin="0,500,0,0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</ScrollViewer>
</Grid>
解决方法:
答案是明确将RenderOptions.EdgeMode设置为别名,以获得具有此类边框的控件.
对于我上面的例子,代码看起来像这样:
<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ScrollViewer HorizontalAlignment="Stretch" Name="scrollViewer1" VerticalAlignment="Stretch" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Grid>
<Grid Background="Black" Width="500" Height="500" VerticalAlignment="Top" HorizontalAlignment="Left" RenderOptions.EdgeMode="Aliased"/>
<Grid Background="Black" Width="500" Height="500" Margin="500,0,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" RenderOptions.EdgeMode="Aliased"/>
<Grid Background="Black" Width="500" Height="500" Margin="500,500,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" RenderOptions.EdgeMode="Aliased"/>
<Grid Background="Black" Width="500" Height="500" Margin="0,500,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" RenderOptions.EdgeMode="Aliased"/>
</Grid>
</ScrollViewer>
</Grid>
内容总结
以上是互联网集市为您收集整理的c# – 如何强制WPF控件的平滑渲染?全部内容,希望文章能够帮你解决c# – 如何强制WPF控件的平滑渲染?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。