你回来了 发表于 2024-6-29 12:07:27

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

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

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

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


来源:https://www.cnblogs.com/BettaFish/p/18274832
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 修复Win10上ListView样式不正确的问题