2009-08-24 14 views
27

मैं एक छोटे से डिवाइस पर टच स्क्रीन पर काम कर रहा हूं और स्क्रॉल-बार की कस्टम चौड़ाई कोई अच्छी नहीं है क्योंकि मेरी आवश्यकताओं में से एक यह है कि सब कुछ उंगली संकेतों द्वारा करने योग्य होने की आवश्यकता है।WPF स्क्रॉलव्यूअर में स्क्रॉलबार चौड़ाई कैसे बढ़ाएं?

मैं WPF स्क्रॉलव्यूअर स्क्रॉलबार की चौड़ाई कैसे सेट कर सकता हूं?

ध्यान दें कि मैं डिवाइस पर सभी स्क्रॉलबार की चौड़ाई बदलना नहीं चाहता (विंडोज़ सेटिंग्स के माध्यम से करने योग्य) - केवल मेरे ऐप में ही।

उत्तर

45

ScrollBar टेम्पलेट इसकी चौड़ाई/ऊंचाई (अभिविन्यास के आधार पर) निर्धारित करने के लिए सिस्टम पैरामीटर के लिए पहुंचता है। इसलिए, आप उन मानदंडों को ओवरराइड कर सकते हैं:

<ScrollViewer> 
    <ScrollViewer.Resources> 
     <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">100</sys:Double> 
    </ScrollViewer.Resources> 
</ScrollViewer> 
+0

धन्यवाद - ऐसा लगता है कि मुझे क्या चाहिए! मेरे पास पृष्ठ में स्क्रॉलव्यूअर है - जब मैं आपके सुझाव को लागू करने का प्रयास करता हूं तो मुझे sys मिलता है: डबल नहीं मिला -> कोई सुराग क्यों? WPF – JohnIdol

+9

से वास्तव में परिचित नहीं है आपको इस तरह mscorlib में सिस्टम में sys नेमस्पेस को मैप करने की आवश्यकता है: xmlns: sys = "clr-namespace: system; assembly = mscorlib" –

+0

धन्यवाद! अभी सही – JohnIdol

18

यहाँ एक XAML समाधान है:

<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> 
    <Setter Property="Stylus.IsFlicksEnabled" Value="True" /> 
    <Style.Triggers> 
     <Trigger Property="Orientation" Value="Horizontal"> 
      <Setter Property="Height" Value="40" /> 
      <Setter Property="MinHeight" Value="40" /> 
     </Trigger> 
     <Trigger Property="Orientation" Value="Vertical"> 
      <Setter Property="Width" Value="40" /> 
      <Setter Property="MinWidth" Value="40" /> 
     </Trigger> 
    </Style.Triggers> 
</Style> 
+3

इस "IsFlicksEnabled" के बारे में क्या है? –

+1

IsFlicksEnabled से संबंधित है जब यह टचस्क्रीन सेटअप में उपयोग किए जाने पर जेस्चर का जवाब दे सकता है: https://msdn.microsoft.com/en-us/library/system.windows.input.stylus.isflicksenabled(v=vs.100) .aspx –

16

केंट के जवाब भी लागू किया जा सकता करने के लिए आसानी से अपने App.xaml संसाधनों में रखकर अपने आवेदन में सभी स्क्रॉलबार , और क्षैतिज ऊंचाई कुंजी को निर्दिष्ट करके भी।

<Application 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
    ... 
> 
    <Application.Resources> 
     <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">50</sys:Double> 
     <sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">50</sys:Double> 
    </Application.Resources> 
</Application> 
संबंधित मुद्दे