2012-03-11 8 views
7

मैं वर्तमान में मेट्रो और सी # का उपयोग कर विंडोज 8 के लिए एक ऐप लिख रहा हूं। मेरे ऐप में मैं अपना डेटा दिखाने के लिए स्क्रोलव्यूयर और ग्रिडव्यू के संयोजन का उपयोग करता हूं। मेरी समस्या यह है कि, मैं इसे माउस व्हील के साथ स्क्रॉल करने योग्य कैसे बना सकता हूं?मैं विंडोज 8 मेट्रो स्क्रॉलव्यूअर को मूसहेल का जवाब कैसे दे सकता हूं?

मेरी खोज में मैंने System.Windows.Input में स्थित MouseWheelParameters पाया, लेकिन जब मैं get_pageTranslation का उपयोग करने का प्रयास करता हूं, तो यह एक त्रुटि देता है कि मैं स्पष्ट रूप से प्राप्त विधि का उपयोग नहीं कर सकता।

wheelParameters.PageTranslation 

इस:

get_PageTranslation() 

तरीका है जिसके लागू करता है का नाम है

उत्तर

2

"get_pageTranslation" वास्तव में "PageTranslation" MouseWheelParameters पर संपत्ति, आप इसे कह कर का उपयोग है पेज ट्रांसलेशन संपत्ति, लेकिन यह सी # या सी ++ अनुप्रयोगों से उपलब्ध नहीं है।

+0

Btw, मेरा मानना ​​है कि:

इस समस्या को हल करने के लिए, मैं इस प्रकार GridView टेम्पलेट से ScrollViewer हटाया कि उपभोक्ता पूर्वावलोकन में, स्क्रॉलव्यूवर को स्वचालित रूप से माउस व्हील के साथ स्क्रॉल करने के लिए कॉन्फ़िगर किया जा सकता है। लेकिन मुझे 100% यकीन नहीं है कि यह कैसे करें। –

+0

इसे खोजने में सक्षम नहीं है, लेकिन यह बहुत समझ में आता है –

14

वहाँ माउस पहिया के साथ स्क्रॉल करने के लिए इन शैलियों का प्रयोग करें एक ScrollViewer

<Style x:Key="HorizontalScrollViewerStyle" TargetType="ScrollViewer"> 
    <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/> 
    <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/> 
    <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" /> 
    <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" /> 
    <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" /> 
</Style> 

<Style x:Key="VerticalScrollViewerStyle" TargetType="ScrollViewer"> 
    <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/> 
    <Setter Property="VerticalScrollBarVisibility" Value="Auto"/> 
    <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" /> 
    <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" /> 
    <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" /> 
</Style> 

में दिशाहीन स्क्रॉल के लिए डिफ़ॉल्ट शैलियों रहे हैं। स्क्रॉलव्यूअर पर ध्यान देने के लिए आपको क्लिक करने की आवश्यकता हो सकती है ताकि यह आगे बढ़ सके।

<ScrollViewer Style="{StaticResource HorizontalScrollViewerStyle}"> 
    <StackPanel ... /> 
</ScrollViewer> 
19

WinRT में स्क्रॉलव्यूअर माउस व्हील के साथ बॉक्स से बाहर काम करता है। हालांकि, आपके परिदृश्य में वास्तव में दो स्क्रॉलव्यूर्स हैं, जिन्हें आपने बनाया है और एक ग्रिड व्यू टेम्पलेट के अंदर है। ये दो संघर्ष।

<GridView.Template> 
    <ControlTemplate> 
     <ItemsPresenter /> 
    </ControlTemplate> 
</GridView.Template> 

यह काम करने लगता है, लेकिन यह अन्य अवांछित दुष्प्रभाव हो सकते हैं ...

+1

मेरे लिए काम करता है ... धन्यवाद! – Ripityom

+0

मैं सिर्फ यह इंगित करना चाहता हूं कि आप स्पर्श का उपयोग करके अपने ग्रिड व्यू में "चयन स्वाइप करें" आइटम नहीं कर पाएंगे। इसलिए यदि आपको स्वाइप-चयन की आवश्यकता है तो आपको कुछ और करने की आवश्यकता होगी। – oXeNoN

+4

यदि आपको दोनों मूसहेल स्क्रॉलिंग और स्वाइप-टू-सिलेक्ट की आवश्यकता है, तो आप PointerWheelChanged ईवेंट को हुक करने के लिए AddHandler विधि का उपयोग कर सकते हैं और e.Handled = false सेट कर सकते हैं। यहां पूरा विवरण: http://briandunnington.github.com/gridview-in-a-scrollviewer.html – briandunnington

संबंधित मुद्दे