2010-02-25 15 views
6

यह एक बहुत ही सरल कार्य होना चाहिए, लेकिन किसी कारण से मैं WPF में इसके साथ कई समस्याएं चला रहा हूं।एक आकार बदलने योग्य विंडो के लिए WPF स्क्रॉलबार

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

मैंने खिड़की में पहले तत्व के रूप में स्क्रॉलव्यूयर डालने का प्रयास किया, लेकिन यह सही ढंग से काम नहीं कर रहा है। अगर मैं ऊंचाई और चौड़ाई ऑटो पर सेट करता हूं, तो यह स्क्रॉल नहीं करता है और यदि मैं इसे सार्थक हिरासत में सेट करता हूं, तो विंडो को अधिकतम होने पर यह एक बॉक्स बनाता है।

किसी भी मदद की सराहना की जाएगी!

+1

क्या आप कृपया समझा सकते हैं, "यह एक बॉक्स बनाता है" का क्या अर्थ है? मैं इसे समझ में नहीं आया। – Vlad

+0

मतलब यह है कि बीच में एक निश्चित चौड़ाई क्षेत्र है जब इसके चारों ओर की खिड़की –

+0

फैलती है, इस मामले में, क्या आप अपना एक्सएएमएल पोस्ट करेंगे? दिलचस्प खिड़की स्वयं और इसके तत्काल बाल तत्व (स्क्रॉलव्यूवर?) है। – Vlad

उत्तर

10

मुझे लगता है कि आपके पास कुछ निश्चित चौड़ाई के मुद्दे हैं। यदि आप अपने एक्सएएमएल का नमूना प्रदान करते हैं तो मैं देख सकता हूं कि मैं आगे की मदद कर सकता हूं या नहीं। एक बॉक्स बिना दिखाए निम्नलिखित काम करता है:

<Window x:Class="WpfSample1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 
    <ScrollViewer> 
     <StackPanel> 
      <Rectangle Height="400" Width="400" Fill="Red" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Green" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Blue" Margin="10" /> 
      <Rectangle Height="400" Width="400" Fill="Yellow" Margin="10" /> 
     </StackPanel> 
    </ScrollViewer> 
</Window> 
+0

बाहर निकलता है यह cotnrols के साथ तय चौड़ाई मुद्दों था, धन्यवाद! –

8

आप HorizontalScrollBarVisibility और ऑटो को ScrollViewer के VerticalScrollBarVisibility स्थापित करना चाहिए।

<Grid> 
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
     <Canvas Width="400" Height="400"> 
      <Button Canvas.Left="300">Left 300</Button> 
      <Button Canvas.Top="300">Top 300</Button> 
     </Canvas> 
    </ScrollViewer> 
</Grid> 

यह बनाम द्वारा उत्पन्न मुख्य विंडो की सामग्री को बदल देता है:

यहाँ एक उदाहरण है

इसे चलाएं और विंडो के आकार को बदलें, इसे अधिकतम करें और आप सलाखों को गायब और गायब कर देंगे।

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