修复Win10上ListView样式不正确的问题

兜兜零元  金牌会员 | 2024-6-29 09:55:29 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 864|帖子 864|积分 2592

在Windows 11下,使用WinUI2.6以上版本的ListView长这样:

然而到了Win10上,尽管其他控件的样式没有改变,但ListViewItem变成了默认样式(初代Fluent)
最重大的问题是,Win10上的HorizontalAlignment未被设置成Stretch,大概造成严峻的UI错位(隔壁livelyweather也有这个问题)。

这疑似是Win10上未使用正确的资源造成的。
为相识决此问题,我们可以在App.xaml中的App.Resources中添加以下样式(从VS Blender复制),并将其作为ListViewItem的默认样式即可
注:此处使用了条件XAML语句,这样在Win11上就可以使用自带的样式(似乎多一点动画),将contract13NotPresent删去问题也不大
  1. xmlns:contract13NotPresent="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,13)">
复制代码
  1.     <contract13NotPresent:Style BasedOn="{StaticResource Win11ListViewItemStyle}" TargetType="ListViewItem" />
  2.     <Thickness x:Key="ListItemMargin">4</Thickness>
  3.    
复制代码
最终效果(Win10):


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表