WPF

2009-05-08 10 views
11

में इसकी सामग्री में ग्रिड पंक्ति की ऊंचाई बांधें मेरे पास कुछ पंक्तियों वाला ग्रिड है। शीर्ष पंक्ति में, मेरे पास एक आइटम नियंत्रण है जो संग्रह के लिए गतिशील रूप से बाध्य है और डेटा टेम्पलेट चयनकर्ता और आइटम पैनेल टेम्पलेट का उपयोग करता है (एक क्षैतिज रूप से व्यवस्थित WrapPanel के साथ)। यहाँ मैं अब तक की एक छीन नीचे संस्करण है:WPF

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="40" /> 
     <RowDefinition Height="2" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <GridSplitter Background="#666" Grid.Row="1" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> 
    <ItemsControl x:Name="items" Background="#DDD" Grid.Row="0" ItemTemplateSelector="{StaticResource itemTemplateSelector}"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel Orientation="Horizontal" /> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
    </ItemsControl> 
</Grid> 

के बजाय 40 करने के लिए कि पहली पंक्ति की ऊंचाई की स्थापना, मैं न्यूनतम ऊंचाई है कि ItemsControl फिट करने के लिए किया जाना चाहिए के आधार पर डायनामिक यह निर्धारित करना चाहते हैं इसकी सभी सामग्री। चूंकि आइटम नियंत्रक की ऊंचाई ग्रिड पंक्ति की ऊंचाई से बाधित हो रही है, इसलिए मैं यह नहीं समझ सकता कि मुझे कौन सा तत्व बाध्यकारी होना चाहिए और किस तत्व की संपत्ति के लिए मुझे बाध्यकारी होना चाहिए।

आइटम गंट्रोल की "वांछित ऊंचाई" तक ग्रिड रो की ऊंचाई को बांधने का अर्थ होगा। इसलिए, मुझे वांछित आकार की संपत्ति मिली और मेरी रोविडिनेशन की ऊँचाई को आइटम नियंत्रण के वांछित आकार में रखा। हाइट। यह पहली बार लोड होने पर काम करता है, लेकिन जब मैं नियंत्रण का आकार बदलता हूं तो अपडेट नहीं होता है (याद रखें, मैं अपने आइटमपैन टेम्पलेट के रूप में एक रैपपैनल का उपयोग कर रहा हूं, इसलिए जब मैं विंडो का आकार बदलता हूं, तो आइटम नियंत्रण की ऊंचाई बदलनी चाहिए)।

क्या किसी को पता है कि इस तरह की स्थिति बाध्यकारी ढांचे द्वारा समर्थित है, या मुझे इसे पूरा करने के लिए ईवेंट हैंडलर कोड जोड़ने की आवश्यकता होगी?

धन्यवाद।

उत्तर

30

क्या आप ऑटो के लिए ऊंचाई सेट करके देखें प्राप्त करने के लिए आप क्या चाहते हैं:

<RowDefinition Height="Auto"/> 

(? या हूँ मैं यहाँ भी सरल सोच ..)

+0

हाँ ... कभी कभी सरल समाधान केवल आपके निकल जाता है । धन्यवाद – Rich

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