diff options
author | Samantha Houts <samantha@teamredwall.com> | 2017-03-14 03:51:28 -0700 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2017-03-22 10:52:57 +0000 |
commit | 16f142344a83e2f8386257b7677e122ef5ab402c (patch) | |
tree | 85ea9803bdccc587b2fe06c5005c68874a15dfe3 /Xamarin.Forms.Controls.Issues | |
parent | 69ff55a62fd2e35bd945513fcf594d3541ea6651 (diff) | |
download | xamarin-forms-16f142344a83e2f8386257b7677e122ef5ab402c.tar.gz xamarin-forms-16f142344a83e2f8386257b7677e122ef5ab402c.tar.bz2 xamarin-forms-16f142344a83e2f8386257b7677e122ef5ab402c.zip |
[Win] Labels will now wrap when inside horizontally infinite layouts (#639)
* Add repro for 42559
* [Win] Override GetDesiredSize for LabelRenderer
* [Win] Invalidate size on font/align change
Diffstat (limited to 'Xamarin.Forms.Controls.Issues')
2 files changed, 68 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42599.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42599.cs new file mode 100644 index 00000000..f10b3f4a --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla42599.cs @@ -0,0 +1,67 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; +using System.Linq; +using System; + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Bugzilla, 42599, "LineBreakMode does not work on UWP", PlatformAffected.WinRT)] + public class Bugzilla42599 : TestContentPage + { + protected override void Init() + { + var scrollView = new ScrollView(); + var layout = new StackLayout(); + + foreach (var lineBreakMode in Enum.GetValues(typeof(LineBreakMode)).Cast<LineBreakMode>()) + { + layout.Children.Add(GetLayout(lineBreakMode)); + } + scrollView.Content = layout; + Content = scrollView; + } + + static StackLayout GetLayout(LineBreakMode lineBreakMode) + { + var text = ""; + + switch (lineBreakMode) + { + default: + case LineBreakMode.NoWrap: + text = "This is a long sentence that should NOT wrap. If this sentence has wrapped, then this test has failed."; + break; + case LineBreakMode.WordWrap: + text = "This is a long sentence that should word wrap. If this sentence has NOT wrapped, then this test has failed."; + break; + case LineBreakMode.CharacterWrap: + text = "This is a long sentence that should character wrap. If this sentence has NOT wrapped, then this test has failed."; + break; + case LineBreakMode.HeadTruncation: + text = "This is a long sentence that should truncate at the beginning. If this sentence has NOT truncated, then this test has failed."; + break; + case LineBreakMode.TailTruncation: + text = "This is a long sentence that should truncate at the end. If this sentence has NOT truncated, then this test has failed."; + break; + case LineBreakMode.MiddleTruncation: + text = "This is a long sentence that should truncate at the middle. If this sentence has NOT truncated, then this test has failed."; + break; + } + + var label = new Label + { + LineBreakMode = lineBreakMode, + Text = text, + }; + + var layout = new StackLayout + { + Children = { label }, + Orientation = StackOrientation.Horizontal + }; + + return layout; + } + } +}
\ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index 866b23f8..47097774 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@ -231,6 +231,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla28650.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla37431.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44777.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Bugzilla42599.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla51503.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla51505.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla52533.cs" /> |