我有一個數以千計的項目綁定到它的組合框。如何在UWP中的ScrollViewer中設置滾動條的寬度?
我面臨的問題是,當我在平板電腦上運行應用程序時,scrollviewer的滾動條非常薄,因此我無法保持並拖動它,只能滑動移動到ComboBox中。
因此,我想知道是否有一種方法來改變組合框內的ScrollViewer的樣式模板,以使ScrollBar寬度變大。
我有一個數以千計的項目綁定到它的組合框。如何在UWP中的ScrollViewer中設置滾動條的寬度?
我面臨的問題是,當我在平板電腦上運行應用程序時,scrollviewer的滾動條非常薄,因此我無法保持並拖動它,只能滑動移動到ComboBox中。
因此,我想知道是否有一種方法來改變組合框內的ScrollViewer的樣式模板,以使ScrollBar寬度變大。
你必須在挖的風格模板,並改變一些硬的屬性集爲坐在像Thumb
的部分,你會發現在default style templateWidth
/Height
。您可以通過選擇滾動條 - >右鍵單擊 - >編輯樣式 - >編輯副本來提取副本。如果您打算將它複製到多個位置或需要它的實例,請將其保存到需要的位置,如資源字典。
(注:一般人在ScrollViewer中級別開始,然後找一個滾動條在裏面,並應用該樣式的變化有這樣他們就可以直接申請的風格ScrollViewers)
一旦你有你的所做的更改控制模板,然後您需要將它們傳遞到您的ComboBox。如果您只需要一個ComboBox,您可以將樣式模板放入其Resources中,並刪除您給它的名稱x:Key
,以便通過爲該ComboBox繼承而擊中TargetType
的實例。
但是,如果您想讓它擊中每一個ComboBox,那麼您需要編輯ComboBox style template並添加對剛嵌入ScrollViewer的樣式模板的引用。
你會發現像WPF/Silverlight這樣的東西很長的教程幾乎相同的概念,但在模板和屬性的語法細微差異。
希望這有幫助,給它一個鏡頭,如果你卡住回來,我們會讓你排序。
我通過編輯樣式模板的寬度來增加滾動條,就像你所建議的那樣,但現在的問題是我無法保持滾動條和拖動平板電腦(基於觸摸的設備),這是我的主要意圖。有沒有解決方案? – AbsoluteSith
@AbsoluteSith如果字面上你所做的只是改變寬度,那絕對不應該是這樣。您通常必須爲ScrollViewer提供背景=「透明」或刷子顏色才能爲查看器激活HitTestVisibility,因爲UWP更基於Silverlight本身,如果這就是您實際所指的內容? –
是的,我所做的只是改變了滾動條的寬度,它在使用鼠標的桌面上運行良好,但在平板電腦顯示滾動條的情況下卻完全忽略了觸摸。我會嘗試檢查是否可以查看觀看者的HitTestVisibility。 – AbsoluteSith