2011-03-10 12 views
5

प्रश्न: जाओ Windows Phone पर ScrollViewer के लिए घटना स्क्रॉलविंडोज फोन पर ScrollViewer के लिए घटना स्क्रॉल हो जाओ

मैं बहुत की तरह एक ScrollViewer है:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <ScrollViewer x:Name="MyScroller"> 
     <StackPanel> 
      <!-- ... --> 
     </StackPanel> 
    </ScrollViewer> 
</Grid> 

मैं जब स्क्रॉल के लिए होता है के लिए घटना की जरूरत है MyScroller:

// MyScroller.Scroll += // <-- "Scroll" event does not exist on ScrollViewer 
MyScroller.MouseWheel += MyScroller_MouseWheel; // Does not fire on scroll 
MyScroller.ManipulationDelta += MyScroller_ManipulationDelta; // Fires for pinch-zoom only 

उत्तर

1

यह इतना आसान नहीं है, लेकिन कुछ ऐसे भी पुस्तक खोज प्रणाली को इस सवाल में लिखा है:

WP7 Auto Grow ListBox upon reaching the last item

मूल रूप से जिस तरह से OnListVerticalOffsetChanged कहा जाता है और प्रयोग किया जाता है पर एक नज़र डालें।

+0

धन्यवाद, यह मेरी आवश्यकता के लिए बहुत आगे जाता है। मुझे उम्मीद है कि यह लिस्टबॉक्स के बिना काम करता है, हालांकि, मेरे पास छवियों और मेरे कस्टम लेआउट – Subcreation

+0

के साथ लिस्टबॉक्स का उपयोग करके perf समस्याएं हैं यदि आप ListBox - ega ScrollViewer के अलावा कुछ और StackPanel के साथ आइटम्स कंट्रोल का उपयोग कर रहे हैं, तो सावधान रहें कि कितना यूआई को प्रस्तुत करने के लिए आपका ऐप उपयोग करता है - अत्यधिक मेमोरी उपयोग से बचने के लिए आपको वर्चुअलाइजिंगस्टैक पैनेल का उपयोग करने की आवश्यकता हो सकती है। – Stuart

12

MouseMove पर सक्रिय होता है ScrollViewer स्क्रॉल किया जाता है:

public MainPage() 
{ 
    InitializeComponent(); 

    MyScroller.MouseMove += MyScroller_MouseMove; 
} 

void MyScroller_MouseMove(object sender, MouseEventArgs e) 
{ 
    throw new NotImplementedException();// This will fire 
} 

यह सहज नहीं है, क्योंकि इसे "माउस" ईवेंट के रूप में नामित किया गया है और फोन पर कोई माउस नहीं है। टच पॉइंट, हालांकि, स्क्रॉलव्यूयर कंटेनर के सापेक्ष चलता है, यह स्क्रॉलिंग को कैसे संभाल सकता है।

0

आम के साथ, आप इस sample project में वर्णित अनुसार "स्क्रॉलस्टेट्स" दृश्य स्थिति को बदलने के लिए देख सकते हैं।

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