翼度科技»论坛 编程开发 .net 查看内容

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

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
在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):


来源:https://www.cnblogs.com/BettaFish/p/18274832
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x

举报 回复 使用道具