Skip to content
未竟 edited this page Jun 12, 2026 · 8 revisions

WinUI3入门

在Starward中加入WinUI3动画

亚克力风格

🎈目前Starward的主要风格是亚克力,排除一些下拉按钮(DropDownButton,因为弹出的列表可能溢出整个软件,导致采样不到底层的图片,做不了亚克力效果,所以微软把他们做成了单独的视觉树,也就是说,就算我强制对它进行修改,它也会回退成纯色),可以结合WinUI3的动画,加上少量的编码,就可以渲染出不错的效果~


两种动画路线:Xaml动画(Storyboard)还是Composition(Microsoft.UI.Composition)

🙌最直观的区别就是,Composition已经开始借助显卡的力量了:Composition方式不在UI线程上运作,而是单独的合成线程。UI线程简直就是一个反直觉的东西,因为UI组件就是一个自由的设计,它不线程安全,一碰就碎,因为这个问题,产生了很多代价,包括DispatcherQueue这个用来强制使用UI线程操作的机制,还有ConfigureAwait(false)来控制异步操作之后不要再使用UI线程了,这种欲拒还迎的戏码占据了开发者很多的精力。所以投入Composition的怀抱吧,未来是你的~

Clone this wiki locally