• <menu id="w2i4a"></menu>
  • logo Visual Studio系列教程

    文檔首頁>>Visual Studio系列教程>>Visual Studio系列教程:如何創(chuàng)建自定義樣式(三)——使用控制模板制作奇特的滑塊

    Visual Studio系列教程:如何創(chuàng)建自定義樣式(三)——使用控制模板制作奇特的滑塊


    Visual Studio是一款完備的工具和服務(wù),可幫助您為Microsoft平臺和其他平臺創(chuàng)建各種各樣的應(yīng)用程序,同時(shí)還可以將您所有的項(xiàng)目、團(tuán)隊(duì)和利益干系人聯(lián)系在一起。

    本教程將為你介紹在Visual Studio中如何自定義HTML的UI,創(chuàng)建自定義樣式。本章將繼續(xù)帶你學(xué)習(xí)如何使用控制模板制作奇特的滑塊。

    第3部分:使用控制模板制作奇特的滑塊

    在第1部分教程中我們知道了如何在滑塊后面添加形狀使其看起來很酷。其實(shí),我們還有另一個(gè)更好的方法達(dá)到相同的效果。

    1. “解決方案資源管理器”面板中,雙擊 DetailPage.xaml
    2. 接下來,我們將使用滑塊的默認(rèn)控件模板作為起點(diǎn),將此 XAML 添加到 “Page.Resources” 元素中。(控件模板是項(xiàng)強(qiáng)大的功能,下面的XAML或許有些長)

    3. 在剛添加的“ControlTemplate” 中,查找名為 “HorizontalTemplate”的網(wǎng)格控件。此網(wǎng)格定義我們想要更改的模板部分。

    4. 創(chuàng)建一個(gè)多邊形,此多邊形就像你在第 1 部分中為曝光滑塊創(chuàng)建的多邊形一樣。 在右“Grid.RowDefinitions”標(biāo)記后面添加多邊形。 將“Grid.Row”設(shè)置為“0”,將“Grid.RowSpan”設(shè)置為“3”,并將“Grid.ColumnSpan”設(shè)置為“3”

      之前

      之后

    5. 刪除“Polygon.Fill”設(shè)置。 將“Fill”設(shè)置為“{TemplateBinding Background}”。 這樣,設(shè)置滑塊的“Background”屬性時(shí)便會(huì)設(shè)置多邊形的“Fill”屬性。

      之前

      之后

    6. 在我們添加的多邊形后面,有一個(gè)名為“HorizontalTrackRect”的矩形。刪除此矩形的“Fill”設(shè)置,以便矩形將不可見并且不會(huì)阻礙我們的多邊形。(我們不想完全刪除矩形,因?yàn)榭丶0暹€會(huì)將其用于交互視覺對象,如懸停。)

      之前

      之后

      至此,我們就完成了我們所需的模板,接下來就將其應(yīng)用于我們的滑塊。

    7. 更新曝光滑塊
      • 將滑塊的 “Template” 屬性設(shè)置為“{StaticResource FancySliderControlTemplate}”。
      • 刪除滑塊的 Background="Transparent" 設(shè)置。
      • 將滑塊的背景設(shè)置為從黑色過渡到白色的線性漸變。
      • 刪除我們在第 1 部分中創(chuàng)建的背景多邊形。

      之前

      之后

    8. 對溫度滑塊進(jìn)行更新。

      之前

      之后

    9. 對色調(diào)滑塊進(jìn)行更新。

      之前

      之后

    10. 編譯并運(yùn)行應(yīng)用。

    那么,現(xiàn)在我們就完成了第3部分的教程內(nèi)容,我們就基本掌握了在Visual Studio中創(chuàng)建自定義樣式的方法,創(chuàng)如果你遇到困難或者想要 Visual Studio其他相關(guān)教程,記得關(guān)注收藏我們哦~

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();