2014-04-04 9 views
5

मैं एक नियंत्रण के अंदर तत्वों डाल करने के लिए इतना है कि वे शुरू में (क्षैतिज अभिविन्यास के साथ एक StackPanel) की तरह इस तरह फिट हैं:मैं स्टैकपैनेल और यूनिफॉर्म ग्रिड व्यवहार के इस मिश्रण को कैसे प्राप्त कर सकता हूं?

enter image description here

लेकिन तब, जब तत्वों बात करने के लिए ढेर वे फिट नहीं होगा स्क्रीन में अब, मैं उन्हें इस तरह बर्ताव कर शुरू करना चाहते हैं:

enter image description here

एक UniformGrid तरह

: के रूप में तत्वों की संख्या में वृद्धि, वे छोटे हो जाते हैं।

ऐसा करने का सबसे अच्छा या कोई तरीका क्या होगा? चूंकि बाहरी नियंत्रण आकार परिवर्तनीय है (यह उपयोगकर्ता के स्क्रीन आकार पर निर्भर करता है) मैं तत्वों की संख्या के आधार पर एक घटक या किसी अन्य का उपयोग करने के लिए "हैक" नहीं कर सकता क्योंकि मैं "ब्रेक" करने की संख्या की भविष्यवाणी नहीं कर सकता स्क्रीन।

उत्तर

4

सबसे आसान/तेज़ मार्ग है, यह एक ViewBox में यह Stretch="Uniform" करने के लिए सेट के साथ आप के लिए यह करने के लिए नीचे दिए एक उदाहरण के रूप, फेंक बस जोड़ें/आयतों घटाना और आप अवधारणा मिलेगा ...

<Viewbox Stretch="Uniform" MaxHeight="60" MaxWidth="200"> 
    <StackPanel Orientation="Horizontal"> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
     <Rectangle Fill="Red" Margin="5" Height="50" Width="50"/> 
    </StackPanel> 
</Viewbox> 

उम्मीद है कि इससे मदद मिलती है। चीयर्स

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

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