一段時(shí)間之前钧唐,我已經(jīng)投稿兩篇,分別講述了如何實(shí)現(xiàn)流暢設(shè)計(jì)下的Material和Motion眉厨,但那是在Win10 SDK Build 16190之前滑黔。微軟發(fā)布了Windows10 SDK Build 16190之后,新加入了一個(gè)筆刷:AcrylicBrush(亞克力筆刷)宵距。
碼瘋窩學(xué)院(xy.mfwedu.com)是一家線上線下聯(lián)動(dòng)的IT職業(yè)教育機(jī)構(gòu)腊尚,碼瘋窩線上平臺(tái)免費(fèi)提供Java,HTML5满哪,UI等所有目前火熱學(xué)科的所有課程婿斥,記住,是免費(fèi)的喲哨鸭,大家一定要來(lái)看看喲民宿!
這個(gè)筆刷能讓開發(fā)人員更快地創(chuàng)建透明的應(yīng)用背景、方便地調(diào)整透明值以及顏色像鸡,不再需要一個(gè)單獨(dú)的UIElement來(lái)承載透明的背景活鹰,也能幫助開發(fā)人員實(shí)現(xiàn)流暢設(shè)計(jì)中,被稱作“Lighting(光照)”的設(shè)計(jì)效果只估。
注意:以下實(shí)例均在Win10 SDK Build 16232版本下實(shí)現(xiàn)华望。
簡(jiǎn)單實(shí)例:
創(chuàng)建一個(gè)空白的UWP應(yīng)用程序,目標(biāo)SDK應(yīng)該改為等于或高于16190的版本仅乓。鑒于AcrylicBrush使用起來(lái)非常方便赖舟,我們的例子不會(huì)涉及到C#代碼,而僅僅是XAML層面的內(nèi)容夸楣。
修改XAML代碼如下:
其中:重要的就是這個(gè)名為AcrylicBrush的筆刷宾抓。我們像使用其它筆刷一樣使用它,它擁有若干個(gè)重要的屬性豫喧,其中BackgroundSource屬性只能從枚舉值HostBackdrop和Backdrop中選取石洗,它們分別表示這個(gè)亞克力筆刷的源來(lái)自應(yīng)用下的背景還是控件下的背景。TintColor則是亞克力的顏色紧显,TintOpacity決定了亞克力的透明程度讲衫。此外,亞克力筆刷還能自動(dòng)處理光照特性。我們執(zhí)行代碼涉兽,觀察效果:
我們僅僅使用XAML就實(shí)現(xiàn)了接近完整的流暢設(shè)計(jì)光照和材質(zhì)效果招驴。
總結(jié):AcrylicBrush是微軟為流暢設(shè)計(jì)體系作準(zhǔn)備的一個(gè)新內(nèi)容。它的出現(xiàn)意味著不會(huì)有新的專門的控件來(lái)支持流暢設(shè)計(jì)體系枷畏,而要求開發(fā)者合理為自己原有的控件應(yīng)用AcrylicBrush筆刷别厘。但是控件會(huì)不會(huì)自動(dòng)應(yīng)用這個(gè)筆刷還是未可知的,不過(guò)這種使用筆刷的方式要比我的前面幾篇文章講過(guò)的使用C#代碼的方式方便很多拥诡,雖然效率可能并沒(méi)有提升触趴。