2015-10-15 18 views
7

Tôi đang sử dụng Xamarin và tạo chế độ xem của tôi với XAML và tôi không thể sử dụng nhãn này để bọc theo cách tôi muốn. Nếu nhãn để được đến mép của màn hình, tôi muốn để bọc như thế này ...Nhãn gói với StackLayout

This is the way I want it to look

Ngay bây giờ nó được nhìn như thế này ...

This is how it is showing up

Đây là mã của tôi:

<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> 

Điều này không cần phải nằm trong lưới, đây chỉ là phương pháp tôi đang thử bây giờ. Yêu cầu duy nhất của tôi là 'Ban chứng nhận' là một nhãn, và tôi phải chuyển một giá trị mà từ đó kết thúc tốt đẹp khi nó đến cuối màn hình. Bất kỳ trợ giúp sẽ là tuyệt vời, Cảm ơn!

+3

Có lý do cụ thể nào bạn có Lưới, được nhúng trong StackLayout, sau đó với StackLayout được nhúng trong đó không? Nếu không, Ditch tất cả các StackLayouts, đặt hai cột trong lưới của bạn, cột 0 chiều rộng tự động, cột 1 chiều rộng * với 2 nhãn trong cột tương ứng của họ và nowrap trên "chứng nhận của bạn hội đồng quản trị" –

Trả lời

4

Đặt thẻ LineBreakMode = "NoWrap" vào nhãn của bạn. Bằng cách này bạn có thể tránh quấn.

Nhưng nếu bạn không có đủ dung lượng, từ đó sẽ bị cắt.

0

Bạn có thể đạt được giao diện mong muốn bằng cách kết hợp cả hai Nhãn chứa trong StackLayout được căn chỉnh theo chiều ngang của bạn vào một Nhãn đơn và đặt LineBreakMode = "WordWrap". XAML có một tính năng tuyệt vời được gọi là StringFormat. Bạn có thể sử dụng điều này để thêm văn bản "Bảng chứng nhận" tĩnh tĩnh vào thuộc tính Chứng nhận bị ràng buộc. Nhãn của bạn sẽ trông giống như sau:

<Label Text="{Binding Certification, StringFormat='Board Certification:{0:F0}'}" LineBreakMode="WordWrap"/> 
Các vấn đề liên quan