From 1b7250167ff027bbd5ce3d2950a3e3495a13a5f7 Mon Sep 17 00:00:00 2001 From: "E.Z. Hart" Date: Tue, 30 Aug 2016 12:12:27 -0600 Subject: Use character truncation in Windows (#321) Change layout order ViewCells on Windows to correct label length layout issues Add extra layout pass on ViewCell load to make cells without margins visible --- Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'Xamarin.Forms.Platform.WP8') diff --git a/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs b/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs index 28f5f8c4..50ac3352 100644 --- a/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs +++ b/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs @@ -41,6 +41,7 @@ namespace Xamarin.Forms.Platform.WinPhone { frameworkElement.Loaded += (sender, args) => { + (_view as Layout)?.ForceLayout(); ((IVisualElementController)_view).InvalidateMeasure(InvalidationTrigger.MeasureChanged); InvalidateMeasure(); }; @@ -61,16 +62,22 @@ namespace Xamarin.Forms.Platform.WinPhone protected override System.Windows.Size MeasureOverride(System.Windows.Size availableSize) { var content = Content as FrameworkElement; - content?.Measure(availableSize); Size request = _view.Measure(availableSize.Width, availableSize.Height, MeasureFlags.IncludeMargins).Request; System.Windows.Size result; if (_view.HorizontalOptions.Alignment == LayoutAlignment.Fill && !double.IsInfinity(availableSize.Width) && availableSize.Width != 0) + { result = new System.Windows.Size(availableSize.Width, request.Height); + } else + { result = new System.Windows.Size(request.Width, request.Height); + } + + _view.Layout(new Rectangle(0, 0, result.Width, result.Height)); + + content?.Measure(availableSize); - _view.Layout(new Rectangle(0, 0, result.Width, result.Width)); return result; } } -- cgit v1.2.3