2015-10-15 5 views
7

के साथ लेबल रैपिंग मैं एक्समारिन का उपयोग कर रहा हूं और एक्सएएमएल के साथ अपना विचार बना रहा हूं और मैं इस लेबल को जिस तरीके से चाहता हूं उसे लपेटने के लिए नहीं कर सकता। लेबल के लिए स्क्रीन के किनारे करने के लिए हो जाता है, मैं इस तरह रैप करने के लिए करने के लिए ...स्टैकलेआउट

This is the way I want it to look

अभी इसे इस तरह देख रहा है

... चाहते

This is how it is showing up

यहां मेरा कोड है:

<StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand" BindingContext="{Binding CurrentProviderDetails}" Padding="20,20,20,20" > 
    <Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 
<!--Certification Board--> 
    <StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" Grid.Row="0" Grid.Column="0" > 
    <Label Text="Certification Board: " FontSize="13" HorizontalOptions="Fill" VerticalOptions="CenterAndExpand" /> 
    <Label Text="{Binding Certification}" VerticalOptions="CenterAndExpand" HorizontalOptions="Center" Font="17" LineBreakMode="WordWrap"/> 
    </StackLayout> 
</Grid> 
</StackLayout> 

इसे ग्रिड में होने की आवश्यकता नहीं है, यह वही तरीका था जिसे मैं अभी कोशिश कर रहा था। मेरी एकमात्र आवश्यकता यह है कि 'प्रमाणन बोर्ड' एक लेबल है, और मुझे उस मान में गुजरना होगा जो स्क्रीन के अंत तक पहुंचने पर शब्द लपेटता है। कोई मदद अद्भुत होगा, धन्यवाद!

+3

वहाँ एक StackLayout यह भीतर एम्बेडेड के साथ किसी विशेष कारण है कि आप एक ग्रिड, एक StackLayout में एम्बेड है, तो? यदि नहीं, तो सभी स्टैकलेआउट्स को हटाएं, अपने ग्रिड में दो कॉलम रखें, कॉलम 0 चौड़ाई ऑटो, कॉलम 1 चौड़ाई * अपने संबंधित कॉलम में 2 लेबल के साथ और अपने "प्रमाणन बोर्ड" पर अब्रैप करें –

उत्तर

4

अपने लेबल में एक LineBreakMode = "NoWrap" टैग डालें। इस तरह आप लपेटने से बच सकते हैं।

लेकिन यदि आपके पास पर्याप्त जगह नहीं है, तो शब्द काटा जाएगा।

0

आप अपने क्षैतिज रूप से गठबंधन स्टैकलेआउट में निहित दोनों लेबलों को एक लेबल में सेट करके वांछित रूप से प्राप्त कर सकते हैं और LineBreakMode = "WordWrap" सेट कर सकते हैं। एक्सएएमएल की एक शानदार विशेषता है जिसे स्ट्रिंगफॉर्मैट कहा जाता है। आप बाध्य प्रमाणन संपत्ति में स्थिर "प्रमाणन बोर्ड:" पाठ को पूर्ववत करने के लिए इसका उपयोग कर सकते हैं। आपका लेबल इस तरह दिखना चाहिए:

<Label Text="{Binding Certification, StringFormat='Board Certification:{0:F0}'}" LineBreakMode="WordWrap"/>