2011-08-05 15 views
90

नीचे XAML में * (तारांकन) का अर्थ क्या है?एक डब्ल्यूपीएफ कॉलमडिफिनिशन में * (तारांकन) का अर्थ?

<ColumnDefinition Width="0.07*"/> 
<Grid Height="100" HorizontalAlignment="Left" 
     Margin="102,134,0,0" 
     Name="grid1" VerticalAlignment="Top" 
     Width="354"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="40*" /> 
     <ColumnDefinition Width="314*" /> 
    </Grid.ColumnDefinitions> 
</Grid> 
+0

यदि मेरी दूसरी कॉलम चौड़ाई पहले और तीसरी कॉलम चौड़ाई का डबल है तो पहले ट्रिपल है तो मैं एस्ट्रिक का उपयोग कैसे कर सकता हूं – Shashank

उत्तर

137

जब आप एक WPF ग्रिड में एक स्तंभ को परिभाषित आपको तीन संभावित मानों में से एक के लिए चौड़ाई सेट कर सकते हैं:,

  • एक निश्चित चौड़ाई
  • Auto - स्तंभ के रूप में व्यापक रूप में फिट करने के लिए आवश्यक हो जाएगा इसकी बच्चों, या
  • * (तारा) किसी भी उपलब्ध स्थान शेष

* एक नंबर लगाया जाता है तक का समय लग (डिफ़ॉल्ट 1 है यदि कोई संख्या निर्दिष्ट नहीं है)। उपलब्ध स्थान को उपसर्ग संख्या के अनुपात में तारांकित स्तंभों में विभाजित किया गया है।

आप इस परिभाषा

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.07*"/> 
    <ColumnDefinition Width="0.93*"/> 
</Grid.ColumnDefinitions> 

है, तो पहले कॉलम उपलब्ध कुल स्थान के 7% मिल जाएगा और दूसरे स्तंभ 93% मिलेगा।

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.07*"/> 
    <ColumnDefinition Width="0.14*"/> 
</Grid.ColumnDefinitions> 

प्रथम स्तंभ 1/3 मिलेगा और उपलब्ध स्थान की दूसरी 2/3: दूसरी ओर यदि आप इस परिभाषा था।


अपने विशिष्ट मामले में जहां ग्रिड की चौड़ाई 354 है और दो स्तंभों के अनुपात में 40 और 314 आप निम्नलिखित स्तंभ चौड़ाई मिलता है में:

 
First column width = 40/(40 + 314)*354 = 40 
Second coulmn width = 314/(40 + 314)*354 = 314 

स्टार चौड़ाई सबसे अच्छा प्रयोग किया जाता है जब ग्रिड की चौड़ाई तय नहीं होती है। जब ग्रिड का आकार बदलता है तो स्तंभ चौड़ाई के अनुसार आनुपातिक रूप से स्केल करेंगे। आपके मामले में ग्रिड की चौड़ाई तय की जाती है और आप आसानी से निश्चित चौड़ाई कॉलम का उपयोग कर सकते हैं।

आप एक लेआउट चाहते हैं जहां दूसरे स्तंभ डबल पहले और तीसरे कॉलम की चौड़ाई है ट्रिपल है की चौड़ाई पहले आप इस परिभाषा की जरूरत है:

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> 
    <ColumnDefinition Width="2*"/> 
    <ColumnDefinition Width="3*"/> 
</Grid.ColumnDefinitions> 

तो ग्रिड की कुल चौड़ाई 300 है आप कॉलम चौड़ाई 50, 100 और 150 प्राप्त करते हैं। यदि ग्रिड की कुल चौड़ाई 600 है तो आपको स्तंभ चौड़ाई 100, 200 और 300 मिलती है। और इसी तरह।

2

किसी अन्य स्टार-चौड़ाई कॉलम के 0.07 अनुपात - अर्थात, अगर एक और ColomnDefinition 0.14 की एक चौड़ाई है तो उस स्तंभ डबल चौड़ाई अपने सभी के बारे में राशन

1

यह स्तंभ आकार अनुपात का उपयोग कर बनाता है =। यदि आपके पास <ColumnDefinition Width="0.03*"/> जैसी दूसरी परिभाषा थी तो पहला कॉलम 70% स्थान लेगा और दूसरा 30% लेगा।

0

[..] एक मूल्य जो उपलब्ध स्थान के भारित अनुपात के रूप में व्यक्त किया जाता है।

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