2010-07-28 13 views
7

ठीक है, मैं एक ग्रिड सेल के अंदर एक ContentPresenter है:सामग्री प्रदाता ग्रिड सेल क्यों भरता नहीं है?

 <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"></RowDefinition> 
       <RowDefinition></RowDefinition> 
      </Grid.RowDefinitions> 

      <Grid.ColumnDefinitions> 
       <ColumnDefinition></ColumnDefinition> 
      </Grid.ColumnDefinitions> 

      <WrapPanel Grid.Row="0" Grid.Column="0"> 
       <RadioButton GroupName="a" IsChecked="{Binding Path=SpecifyRatedValues, Mode=TwoWay}">Specify</RadioButton> 
       <RadioButton GroupName="b" IsChecked="{Binding Path=SpecifyRatedValues, Converter={StaticResource invertBoolean}}">Auto generate</RadioButton> 
      </WrapPanel> 

      <Border BorderBrush="Black" BorderThickness="3" Grid.Row="1" Grid.Column="0"> 
       <ContentPresenter Content="{Binding Path=RatedValues}"></ContentPresenter> 
      </Border>      
     </Grid> 

ContentPresenter जो यूआई तत्व DataTemplate संसाधनों के तहत परिभाषित द्वारा उपयोग करने के लिए ढूँढता है:

<DataTemplate DataType="{x:Type ViewModels:RatedValuesViewModel}"> 
     <Views:RatedValuesView /> 
    </DataTemplate> 

अब, सब कुछ, उम्मीद से काम करता है के रूप में के अलावा एक बात: रनटाइम पर सामग्री प्रस्तुतकर्ता के अंदर जो दृश्य रखा गया है वह पूरे सेल को भरने के लिए विस्तारित नहीं होता है। यह बाएं और दाएं तरफ एक बड़ा मार्जिन छोड़ देता है।

सामग्री प्रस्तुतकर्ता के अंदर दृश्य को मैं पूरे उपलब्ध क्षेत्र को कैसे भर सकता हूं?

+1

सुनिश्चित करें कि दृश्य पर कोई स्पष्ट/निहित आकार की बाधाएं नहीं हैं। – devios1

उत्तर

2

Chaiguy इसे मिला! व्यू में एक चौड़ाई और ऊंचाई थी जो सेल में रखे गए दृश्य को बाधित करती थी। धन्यवाद :-)

+0

इसे समझने के लिए एक अजीब घंटे बिताएं, फिर इस छोटे से जवाब में भाग गया: ओपी, 0 अपवॉट्स द्वारा उत्तर दिया गया। खुद को सोचा, शायद शायद कभी मदद करने जा रहा है, लेकिन, वैसे भी देखते हैं। तडाया, मैंने अपने उपयोगकर्ता नियंत्रण पर चौड़ाई और ऊंचाई भी घोषित की .... समस्या हल हो गई ... बेवकूफ, राहत, और एक ही समय में आभारी महसूस करें! :) +1 – bas

2

आपको क्षैतिज अलाइन = स्ट्रेच, वर्टिकल अलाइन = ग्रिड में स्थान भरने के लिए सीमा और सामग्री प्रस्तुतकर्ता दोनों को खींचना होगा। और चौड़ाई = ऑटो बनाओ।

+0

काम नहीं कर रहा है – Marius

+0

इसे पर भी लागू करने का प्रयास करें। –

9

क्षैतिज अलाइन = "खिंचाव" और वर्टिकल अलाइन = "खिंचाव" महत्वपूर्ण हैं; हालांकि, आपको यह भी याद रखना होगा कि ग्रिड कैसे काम करते हैं। ग्रिड इकाइयां या तो पूर्ण पिक्सेल में हैं, "ऑटो", जिसका अर्थ है कि वे अपनी सामग्री को फिट करने के लिए आकार (यानी न्यूनतम आकार दिखाने के लिए आकार), या "सितारों" का अर्थ है जो सभी उपलब्ध स्थान भरें।

अपनी दूसरी पंक्ति परिभाषा की ऊंचाई को "*" पर सेट करें। आप अपने ग्रिड पर आसानी से अलग-अलग सीमा ब्रश और मोटाई सेट करना भी चाह सकते हैं। कभी-कभी, यह सोचना आसान है कि एक्स सभी उपलब्ध स्थान को भर नहीं रहा है, जब यह वास्तव में एक्स का कंटेनर है, या एक्स के कंटेनर का कंटेनर जो अंतरिक्ष को भर नहीं रहा है। उज्ज्वल प्राथमिक रंगों और बड़ी मोटाई (3 या तो) का प्रयोग करें और आप जल्दी से बता सकते हैं कि चीजें भरने में कौन नहीं है।

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