2009-05-11 8 views
17

पर ज़ूम नियंत्रण दृश्य स्टूडियो डिजाइनर में एक avaialble के समान मेरे wpf रूपों पर ज़ूम नियंत्रण कैसे कार्यान्वित कर सकता हूं?WPF फॉर्म

धन्यवाद!

उत्तर

24

एक ग्रिड में अपना सामान रखो, बाँध ग्रिड के पैमाने (स्लाइडर 1 मिनट मान होना चाहिए) एक स्लाइडर को परिवर्तन प्रस्तुत करना:

<Grid x:Name="LayoutRoot"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="0.867*"/> 
      <RowDefinition Height="0.133*"/> 
     </Grid.RowDefinitions> 
     <Slider x:Name="slider" Grid.Row="1" Minimum="1"/> 
     <Grid RenderTransformOrigin="0.5,0.5"> 
      <Grid.RenderTransform> 
       <TransformGroup> 
        <ScaleTransform 
        ScaleY="{Binding Path=Value, ElementName=slider}" 
        ScaleX="{Binding Path=Value, ElementName=slider}"/> 
       </TransformGroup> 
      </Grid.RenderTransform> 
      <TextBox Text="TextBox" Height="45.214" 
VerticalAlignment="Top" Margin="194,139,209,0"/> 
      <TextBox VerticalAlignment="Bottom" 
Text="TextBox" Margin="194,0,209,118.254" Height="48.96"/> 
     </Grid> 
    </Grid> 
+8

आप ज़ूमिंग के लिए 'लेआउटट्रांसफॉर्म' का उपयोग करना चाह सकते हैं, यह स्क्रॉल बार को सही तरीके से दिखाने के लिए किसी भी अभिभावक 'स्क्रॉलव्यूयर' नियंत्रण को कम करेगा। –

+0

@ ब्रेट: धन्यवाद! आपकी टिप्पणी ने मेरे संबंधित प्रश्न का पूरी तरह उत्तर दिया! – Beska

+0

मामूली बिंदु लेकिन सभी फ्रेमwrokElements में रेंडर/लेआउट ट्रान्सफॉर्म है इसलिए ग्रिड एक आवश्यक तत्व नहीं है –

1

आप Mitsu Furuta द्वारा this article पर एक नजर है चाहिए (डॉन ' अजीब शीर्षक के बारे में चिंता मत करो!)। मुझे यकीन है कि क्या यह वास्तव में अपनी आवश्यकताओं को पूरा करती है नहीं कर रहा हूँ, लेकिन यह आपको कुछ विचार दे सकता है ...

5

शायद तुम ज़ूम नियंत्रण जो WPF Extensions available on Codeplex का हिस्सा है बाहर की कोशिश कर सकते:

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=wpfextensions&DownloadId=66810

+0

कुछ समय के लिए इस नियंत्रण से लड़ने के बाद, मैंने इसका उपयोग न करने का फैसला किया, नियंत्रण रखने पर बग लगता है (केंद्रित नहीं है)। –

1

करने के लिए WPF के लिए एक पेशेवर ज़ूम नियंत्रण प्राप्त करें ZoomPanel देखें।

यह मुफ़्त नहीं है, लेकिन इसका उपयोग करना बहुत आसान है और इसमें कई सुविधाएं हैं - एनिमेटेड ज़ूमिंग और पैनिंग, स्क्रॉलव्यूयर, माउस व्हील सपोर्ट के लिए समर्थन, ज़ूम कंट्रोलर (मूव के साथ, ज़ूम इन, ज़ूम आउट, आयत ज़ूम, रीसेट बटन)। यह कई कोड नमूने के साथ आता है।