2012-12-08 11 views
9

पर बाएं स्नैपिंग रखता है। मैं एक एक्सएएमएल स्क्रॉल व्यूअर को 'सस्ता' करने के लिए एक छवि में चुटकी-ज़ूमिंग जोड़ने का प्रयास कर रहा हूं। मुद्दा यह है कि जब छवि के चारों ओर पैनिंग करते हैं, तो यह बहुत बाईं ओर स्नैपिंग करता रहता है। अगर मैं इसे सही स्लाइड करता हूं, तो यह ठीक दिखता है, लेकिन दूसरा मैं छवि को छोड़ देता हूं, यह बाईं ओर वापस आ जाता है।छवि चुटकी-ज़ूम के लिए स्क्रॉलव्यूयर का उपयोग करके, पैन

यह समस्या केवल क्षैतिज रूप से बनी रहती है - लंबवत पैनिंग के लिए, यह ठीक काम करता है।

मैंने इसे सबसे सरल परीक्षण मामले में समझाया, और यह बनी हुई है। मेरा एक्सएएमएल कोड निम्नानुसार है:

<ScrollViewer> 
     <Image Source="http://i.imgur.com/1WlGT.jpg" /> 
    </ScrollViewer> 

किसी भी मदद की सराहना की जाती है।

उत्तर

14

मैंने इसे हल कर लिया है।

समस्या यह है कि आपको क्षैतिज स्क्रॉलबारी दृश्यता को सत्य में स्पष्ट करना होगा।

<ScrollViewer x:Name="scrollViewer" 
        VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" 
        ZoomMode="Enabled"> 
     <Image Source="http://i.imgur.com/1WlGT.jpg" /> 
    </ScrollViewer> 
+1

यह ScrollViewer भीतर छवि के प्रारंभिक आकार को तोड़ने के लिए लगता है। दृश्यता को सेट किए बिना आप स्क्रॉलव्यूअर की क्षैतिज चौड़ाई को भरने के लिए छवि स्केल करते हैं। अपने समाधान को लागू करने के बाद छवि का प्रारंभिक प्रदर्शन कंटेनर से बड़ा है। –

+5

उपर्युक्त समस्या वाले किसी भी व्यक्ति के लिए, स्क्रॉलव्यू व्यूपोर्ट की चौड़ाई तक छवि की प्रारंभिक चौड़ाई सेट करें: Image.Width = ImageScrollViewer.ViewportWidth; –

+0

इस सलाह को विस्तारित करने के बाद, आपको व्यूपोर्ट स्थापित होने के बाद Image.Width सेट करने की आवश्यकता है। मैंने इसके लिए लेआउट अपडेटेड इवेंट का इस्तेमाल किया। –

3

बस क्या मीकल Strzalkowski अपने जवाब नीचे उसकी टिप्पणी, जो छवि (कंटेनर सीमाओं में फिटिंग नहीं) पूर्ण आकार में दिखाया जा रहा है के बारे में उल्लेख किया है के संभावित समाधान के चित्रण। XAML में त्वरित सुधार उपयोग करने के साथ ElementName और पथ बाइंडिंग

<ScrollViewer x:Name="SV_ImageZoom"   
       MaxZoomFactor="3" 
       MinZoomFactor="1" 
       ZoomMode="Enabled"       
       HorizontalScrollBarVisibility="Auto" 
       VerticalScrollBarVisibility="Auto"> 
    <Image Source="http://i.imgur.com/1WlGT.jpg" 
      Width="{Binding Path=ViewportWidth, ElementName=SV_ImageZoom}" /> 
</ScrollViewer> 
संबंधित मुद्दे