2012-01-19 10 views
13

मेरे पास इसमें कुछ सूची बॉक्स के साथ स्क्रॉलव्यूयर है। समस्या यह है कि यदि कोई उपयोगकर्ता स्क्रॉलव्यूवर स्क्रॉल करने के लिए मध्य माउस रोलर का उपयोग करता है, जबकि उनका माउस किसी सूचीदृश्य पर होता है। सूचीदृश्य नीचे के आंतरिक स्क्रॉलव्यूयर को स्क्रॉल करता है और फिर स्क्रॉल करने वाले स्क्रॉलव्यूअर को रोकने से माउस को कैप्चर करना जारी रखता है।स्क्रॉलव्यूअर के अंदर सूचीदृश्य स्क्रॉलव्यूयर स्क्रॉल को रोकता है

इस पर विचार करने के तरीके पर कोई विचार?

+0

मुझे एक ही समस्या है। यहां एक चर्चा है: http://social.msdn.microsoft.com/Forums/en-IE/wpf/thread/b440b2cb-26e0-4115-9858-5679c4e45e0a यदि मैं समस्या का समाधान करता हूं तो मैं आपको बता दूंगा। – Kos

उत्तर

4

क्या आपने ListView'sScrollBars को अक्षम करने का प्रयास किया था?

<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
      ScrollViewer.VerticalScrollBarVisibility="Disabled" /> 
+0

मैं ऐसा नहीं कर सकता क्योंकि सूचीदृश्यों में दिखाई देने से अधिक आइटम हो सकते हैं। – ConditionRacer

+1

@ जस्टिन 9 4 9 क्या वे किसी अन्य 'स्क्रॉल व्यूअर' में नहीं हैं? – Rachel

+0

बह, मैं थोड़ी एसीसी तस्वीर खींचने जा रहा था, लेकिन यह दर्द का बहुत अधिक है। सूची बॉक्स में प्रत्येक में एकाधिक प्रविष्टियां होती हैं। उदाहरण के लिए, सूची बॉक्स 1 में 10 प्रविष्टियां हो सकती हैं, जिन्हें देखने के लिए सूची बॉक्स को स्क्रॉल करना आवश्यक है। लेकिन कई सूची बॉक्स हैं जो एक साथ, स्क्रीन के लिए बहुत बड़े हैं, इसलिए मेरे पास सूची बॉक्स को देखने के लिए एक बाहरी स्क्रॉलव्यूअर है। क्या इसका कोई मतलब है? – ConditionRacer

30

होता है ऐसा इसलिए है क्योंकि ListView की (ListBox की, वास्तव में) सामग्री टेम्पलेट अपने आप में एक ScrollViewer के साथ अपने आइटम गिर्द घूमती है।

<ListView> 
     <ListView.Template> 
     <ControlTemplate> 
      <ItemsPresenter></ItemsPresenter> 
     </ControlTemplate> 
     </ListView.Template> 
     ... 
    </ListView> 

BTW एक ही होता है अगर आप एक ListView के अंदर एक ListView है (:

सबसे आसान तरीका अंदर ListView, एक है कि निर्माण नहीं करता के लिए अपने स्वयं के Template छोड़ने एक ScrollViewer द्वारा उसे निष्क्रिय करने के लिए है यह मेरा मामला था)।

+0

इससे मेरी मदद मिली: http://stackoverflow.com/a/2189182/399317 – Kos

0

यदि आप स्क्रॉलव्यूअर में आंतरिक सूचीदृश्य लपेटते हैं तो स्क्रॉलिंग काम करेगी।

<ListView ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled"> 
       <ListView> 
        <ListView.ItemTemplate> 
         <DataTemplate> 
         </DataTemplate> 
        </ListView.ItemTemplate> 
       </ListView> 
      </ScrollViewer> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
संबंधित मुद्दे