diff options
31 files changed, 384 insertions, 59 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla37462.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla37462.cs index 6e3c3aab..89c3b032 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla37462.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla37462.cs @@ -22,7 +22,7 @@ namespace Xamarin.Forms.Controls var label1 = new Label { Text = "This is a label on page 1" }; page1.Content = new StackLayout { Children = { button1, label1 } }; page1.Appearing += (sender, args) => { - page1.InvalidateMeasure (InvalidationTrigger.MeasureChanged); + ((IVisualElementController)page1).InvalidateMeasure(InvalidationTrigger.MeasureChanged); }; var page2 = new ContentPage { Title = "Page 2" }; diff --git a/Xamarin.Forms.Core.UnitTests/GridTests.cs b/Xamarin.Forms.Core.UnitTests/GridTests.cs index 203d3b64..359d2b5b 100644 --- a/Xamarin.Forms.Core.UnitTests/GridTests.cs +++ b/Xamarin.Forms.Core.UnitTests/GridTests.cs @@ -2,6 +2,7 @@ using NUnit.Framework; using System; using System.Collections.Generic; using System.Linq; +using Xamarin.Forms.Internals; namespace Xamarin.Forms.Core.UnitTests { @@ -1555,7 +1556,7 @@ namespace Xamarin.Forms.Core.UnitTests bool fire = true; child.SizeChanged += (sender, args) => { if (fire) - child.InvalidateMeasure (InvalidationTrigger.Undefined); + ((IVisualElementController)child).InvalidateMeasure(InvalidationTrigger.Undefined); fire = false; }; diff --git a/Xamarin.Forms.Core/AbsoluteLayout.cs b/Xamarin.Forms.Core/AbsoluteLayout.cs index 51b5ca12..aceec2b3 100644 --- a/Xamarin.Forms.Core/AbsoluteLayout.cs +++ b/Xamarin.Forms.Core/AbsoluteLayout.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { @@ -132,7 +133,7 @@ namespace Xamarin.Forms { if (e.PropertyName == LayoutFlagsProperty.PropertyName || e.PropertyName == LayoutBoundsProperty.PropertyName) { - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); UpdateChildrenLayout(); } } diff --git a/Xamarin.Forms.Core/Button.cs b/Xamarin.Forms.Core/Button.cs index 9c746c9e..72f98814 100644 --- a/Xamarin.Forms.Core/Button.cs +++ b/Xamarin.Forms.Core/Button.cs @@ -2,6 +2,7 @@ using System; using System.Diagnostics; using System.Globalization; using System.Windows.Input; +using Xamarin.Forms.Internals; using Xamarin.Forms.Platform; namespace Xamarin.Forms @@ -18,7 +19,7 @@ namespace Xamarin.Forms BindableProperty.Create("ContentLayout", typeof(ButtonContentLayout), typeof(Button), new ButtonContentLayout(ButtonContentLayout.ImagePosition.Left, DefaultSpacing)); public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(Button), null, - propertyChanged: (bindable, oldVal, newVal) => ((Button)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged)); + propertyChanged: (bindable, oldVal, newVal) => ((Button)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged)); public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(Button), Color.Default); @@ -178,7 +179,7 @@ namespace Xamarin.Forms if (button._cancelEvents) return; - button.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + button.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); button._cancelEvents = true; @@ -219,7 +220,7 @@ namespace Xamarin.Forms void OnSourceChanged(object sender, EventArgs eventArgs) { OnPropertyChanged(ImageProperty.PropertyName); - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } void OnSourcePropertyChanged(ImageSource oldvalue, ImageSource newvalue) @@ -229,7 +230,7 @@ namespace Xamarin.Forms newvalue.SourceChanged += OnSourceChanged; SetInheritedBindingContext(newvalue, BindingContext); } - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } void OnSourcePropertyChanging(ImageSource oldvalue, ImageSource newvalue) @@ -245,7 +246,7 @@ namespace Xamarin.Forms if (button._cancelEvents) return; - button.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + button.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); button._cancelEvents = true; diff --git a/Xamarin.Forms.Core/Grid.cs b/Xamarin.Forms.Core/Grid.cs index 442146c2..a0460af5 100644 --- a/Xamarin.Forms.Core/Grid.cs +++ b/Xamarin.Forms.Core/Grid.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { @@ -17,10 +18,10 @@ namespace Xamarin.Forms public static readonly BindableProperty ColumnSpanProperty = BindableProperty.CreateAttached("ColumnSpan", typeof(int), typeof(Grid), 1, validateValue: (bindable, value) => (int)value >= 1); public static readonly BindableProperty RowSpacingProperty = BindableProperty.Create("RowSpacing", typeof(double), typeof(Grid), 6d, - propertyChanged: (bindable, oldValue, newValue) => ((Grid)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged)); + propertyChanged: (bindable, oldValue, newValue) => ((Grid)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged)); public static readonly BindableProperty ColumnSpacingProperty = BindableProperty.Create("ColumnSpacing", typeof(double), typeof(Grid), 6d, - propertyChanged: (bindable, oldValue, newValue) => ((Grid)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged)); + propertyChanged: (bindable, oldValue, newValue) => ((Grid)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged)); public static readonly BindableProperty ColumnDefinitionsProperty = BindableProperty.Create("ColumnDefinitions", typeof(ColumnDefinitionCollection), typeof(Grid), null, validateValue: (bindable, value) => value != null, propertyChanged: (bindable, oldvalue, newvalue) => @@ -211,9 +212,9 @@ namespace Xamarin.Forms view.ComputedConstraint = result; } - internal override void InvalidateMeasure(InvalidationTrigger trigger) + internal override void InvalidateMeasureInternal(InvalidationTrigger trigger) { - base.InvalidateMeasure(trigger); + base.InvalidateMeasureInternal(trigger); _columns = null; _rows = null; } diff --git a/Xamarin.Forms.Core/IVisualElementController.cs b/Xamarin.Forms.Core/IVisualElementController.cs index 03be293a..672f47de 100644 --- a/Xamarin.Forms.Core/IVisualElementController.cs +++ b/Xamarin.Forms.Core/IVisualElementController.cs @@ -1,7 +1,10 @@ +using Xamarin.Forms.Internals; + namespace Xamarin.Forms { public interface IVisualElementController : IElementController { void NativeSizeChanged(); + void InvalidateMeasure(InvalidationTrigger trigger); } }
\ No newline at end of file diff --git a/Xamarin.Forms.Core/Image.cs b/Xamarin.Forms.Core/Image.cs index 4528f3b9..7d6299ac 100644 --- a/Xamarin.Forms.Core/Image.cs +++ b/Xamarin.Forms.Core/Image.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Forms.Internals; using Xamarin.Forms.Platform; namespace Xamarin.Forms @@ -110,7 +111,7 @@ namespace Xamarin.Forms void OnSourceChanged(object sender, EventArgs eventArgs) { OnPropertyChanged(SourceProperty.PropertyName); - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } static void OnSourcePropertyChanged(BindableObject bindable, object oldvalue, object newvalue) @@ -125,7 +126,7 @@ namespace Xamarin.Forms newvalue.SourceChanged += OnSourceChanged; SetInheritedBindingContext(newvalue, BindingContext); } - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } static void OnSourcePropertyChanging(BindableObject bindable, object oldvalue, object newvalue) diff --git a/Xamarin.Forms.Core/InvalidationTrigger.cs b/Xamarin.Forms.Core/Internals/InvalidationTrigger.cs index e7db534e..9a4180e4 100644 --- a/Xamarin.Forms.Core/InvalidationTrigger.cs +++ b/Xamarin.Forms.Core/Internals/InvalidationTrigger.cs @@ -1,9 +1,9 @@ using System; -namespace Xamarin.Forms +namespace Xamarin.Forms.Internals { [Flags] - internal enum InvalidationTrigger + public enum InvalidationTrigger { Undefined = 0, MeasureChanged = 1 << 0, diff --git a/Xamarin.Forms.Core/InvalidationEventArgs.cs b/Xamarin.Forms.Core/InvalidationEventArgs.cs index d88e2519..1dd5c098 100644 --- a/Xamarin.Forms.Core/InvalidationEventArgs.cs +++ b/Xamarin.Forms.Core/InvalidationEventArgs.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { diff --git a/Xamarin.Forms.Core/Label.cs b/Xamarin.Forms.Core/Label.cs index 1efbd668..1385b763 100644 --- a/Xamarin.Forms.Core/Label.cs +++ b/Xamarin.Forms.Core/Label.cs @@ -1,5 +1,6 @@ using System; using System.ComponentModel; +using Xamarin.Forms.Internals; using Xamarin.Forms.Platform; namespace Xamarin.Forms @@ -41,13 +42,13 @@ namespace Xamarin.Forms { if (newvalue != null) ((FormattedString)newvalue).PropertyChanged += ((Label)bindable).OnFormattedTextChanged; - ((Label)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((Label)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); if (newvalue != null) ((Label)bindable).Text = null; }); public static readonly BindableProperty LineBreakModeProperty = BindableProperty.Create("LineBreakMode", typeof(LineBreakMode), typeof(Label), LineBreakMode.WordWrap, - propertyChanged: (bindable, oldvalue, newvalue) => ((Label)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged)); + propertyChanged: (bindable, oldvalue, newvalue) => ((Label)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged)); bool _cancelEvents; @@ -158,7 +159,7 @@ namespace Xamarin.Forms label._cancelEvents = false; - label.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + label.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } static void OnFontAttributesChanged(BindableObject bindable, object oldValue, object newValue) @@ -189,7 +190,7 @@ namespace Xamarin.Forms label._cancelEvents = false; - label.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + label.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } static void OnFontFamilyChanged(BindableObject bindable, object oldValue, object newValue) @@ -217,7 +218,7 @@ namespace Xamarin.Forms } label._cancelEvents = false; - label.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + label.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } static void OnFontSizeChanged(BindableObject bindable, object oldValue, object newValue) @@ -247,7 +248,7 @@ namespace Xamarin.Forms label._cancelEvents = false; - label.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + label.InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } void OnFormattedTextChanged(object sender, PropertyChangedEventArgs e) @@ -270,7 +271,7 @@ namespace Xamarin.Forms bool isVerticallyFixed = (label.Constraint & LayoutConstraint.VerticallyFixed) != 0; bool isSingleLine = !(breakMode == LineBreakMode.CharacterWrap || breakMode == LineBreakMode.WordWrap); if (!isVerticallyFixed || !isSingleLine) - ((Label)bindable).InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((Label)bindable).InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); if (newvalue != null) ((Label)bindable).FormattedText = null; } diff --git a/Xamarin.Forms.Core/Layout.cs b/Xamarin.Forms.Core/Layout.cs index a7864070..a98e46a1 100644 --- a/Xamarin.Forms.Core/Layout.cs +++ b/Xamarin.Forms.Core/Layout.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Linq; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { @@ -168,7 +169,7 @@ namespace Xamarin.Forms protected virtual void InvalidateLayout() { _hasDoneLayout = false; - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); if (!_hasDoneLayout) ForceLayout(); } @@ -304,11 +305,11 @@ namespace Xamarin.Forms _allocatedFlag = false; if (trigger == InvalidationTrigger.RendererReady) { - InvalidateMeasure(InvalidationTrigger.RendererReady); + InvalidateMeasureInternal(InvalidationTrigger.RendererReady); } else { - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } s_resolutionList.Add(new KeyValuePair<Layout, int>(this, GetElementDepth(this))); diff --git a/Xamarin.Forms.Core/Page.cs b/Xamarin.Forms.Core/Page.cs index 903f4b53..2e1caf0f 100644 --- a/Xamarin.Forms.Core/Page.cs +++ b/Xamarin.Forms.Core/Page.cs @@ -5,6 +5,7 @@ using System.Collections.Specialized; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Xamarin.Forms.Internals; using Xamarin.Forms.Platform; namespace Xamarin.Forms @@ -283,7 +284,7 @@ namespace Xamarin.Forms } _allocatedFlag = false; - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); if (!_allocatedFlag && Width >= 0 && Height >= 0) { SizeAllocated(Width, Height); @@ -348,7 +349,7 @@ namespace Xamarin.Forms view.MeasureInvalidated += OnChildMeasureInvalidated; OnChildAdded(view); - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } void OnInternalRemoved(VisualElement view) diff --git a/Xamarin.Forms.Core/StackLayout.cs b/Xamarin.Forms.Core/StackLayout.cs index 4dc7bfa3..e115a23d 100644 --- a/Xamarin.Forms.Core/StackLayout.cs +++ b/Xamarin.Forms.Core/StackLayout.cs @@ -1,4 +1,5 @@ using System; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { @@ -73,10 +74,10 @@ namespace Xamarin.Forms ComputeConstraintForView(view, false); } - internal override void InvalidateMeasure(InvalidationTrigger trigger) + internal override void InvalidateMeasureInternal(InvalidationTrigger trigger) { _layoutInformation = new LayoutInformation(); - base.InvalidateMeasure(trigger); + base.InvalidateMeasureInternal(trigger); } void AlignOffAxis(LayoutInformation layout, StackOrientation orientation, double widthConstraint, double heightConstraint) diff --git a/Xamarin.Forms.Core/View.cs b/Xamarin.Forms.Core/View.cs index d03c74bb..1ff51d9c 100644 --- a/Xamarin.Forms.Core/View.cs +++ b/Xamarin.Forms.Core/View.cs @@ -3,16 +3,17 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Linq; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { public class View : VisualElement, IViewController { public static readonly BindableProperty VerticalOptionsProperty = BindableProperty.Create("VerticalOptions", typeof(LayoutOptions), typeof(View), LayoutOptions.Fill, - propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).InvalidateMeasure(InvalidationTrigger.VerticalOptionsChanged)); + propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).InvalidateMeasureInternal(InvalidationTrigger.VerticalOptionsChanged)); public static readonly BindableProperty HorizontalOptionsProperty = BindableProperty.Create("HorizontalOptions", typeof(LayoutOptions), typeof(View), LayoutOptions.Fill, - propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).InvalidateMeasure(InvalidationTrigger.HorizontalOptionsChanged)); + propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable).InvalidateMeasureInternal(InvalidationTrigger.HorizontalOptionsChanged)); public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Thickness), typeof(View), default(Thickness), propertyChanged: MarginPropertyChanged); @@ -100,7 +101,7 @@ namespace Xamarin.Forms static void MarginPropertyChanged(BindableObject bindable, object oldValue, object newValue) { - ((View)bindable).InvalidateMeasure(InvalidationTrigger.MarginChanged); + ((View)bindable).InvalidateMeasureInternal(InvalidationTrigger.MarginChanged); } void ValidateGesture(IGestureRecognizer gesture) diff --git a/Xamarin.Forms.Core/VisualElement.cs b/Xamarin.Forms.Core/VisualElement.cs index e93dea6c..da8b8292 100644 --- a/Xamarin.Forms.Core/VisualElement.cs +++ b/Xamarin.Forms.Core/VisualElement.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Xamarin.Forms.Internals; namespace Xamarin.Forms { @@ -353,7 +354,7 @@ namespace Xamarin.Forms return; _isNativeStateConsistent = value; if (value && IsPlatformEnabled) - InvalidateMeasure(InvalidationTrigger.RendererReady); + InvalidateMeasureInternal(InvalidationTrigger.RendererReady); } } @@ -367,7 +368,7 @@ namespace Xamarin.Forms _isPlatformEnabled = value; if (value && IsNativeStateConsistent) - InvalidateMeasure(InvalidationTrigger.RendererReady); + InvalidateMeasureInternal(InvalidationTrigger.RendererReady); OnIsPlatformEnabledChanged(); } @@ -428,7 +429,7 @@ namespace Xamarin.Forms void IVisualElementController.NativeSizeChanged() { - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } public event EventHandler ChildrenReordered; @@ -559,9 +560,9 @@ namespace Xamarin.Forms public event EventHandler<FocusEventArgs> Unfocused; - protected virtual void InvalidateMeasure() + protected virtual void InvalidateMeasureInternal() { - InvalidateMeasure(InvalidationTrigger.MeasureChanged); + InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged); } protected override void OnChildAdded(Element child) @@ -647,12 +648,17 @@ namespace Xamarin.Forms internal event EventHandler<FocusRequestArgs> FocusChangeRequested; - internal virtual void InvalidateMeasure(InvalidationTrigger trigger) + internal virtual void InvalidateMeasureInternal(InvalidationTrigger trigger) { _measureCache.Clear(); MeasureInvalidated?.Invoke(this, new InvalidationEventArgs(trigger)); } + void IVisualElementController.InvalidateMeasure(InvalidationTrigger trigger) + { + InvalidateMeasureInternal(trigger); + } + internal void MockBounds(Rectangle bounds) { _mockX = bounds.X; @@ -672,7 +678,7 @@ namespace Xamarin.Forms internal virtual void OnIsVisibleChanged(bool oldValue, bool newValue) { - InvalidateMeasure(InvalidationTrigger.Undefined); + InvalidateMeasureInternal(InvalidationTrigger.Undefined); } internal override void OnParentResourcesChanged(IEnumerable<KeyValuePair<string, object>> values) @@ -746,7 +752,7 @@ namespace Xamarin.Forms } element.SelfConstraint = constraint; - ((VisualElement)bindable).InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); + ((VisualElement)bindable).InvalidateMeasureInternal(InvalidationTrigger.SizeRequestChanged); } void OnUnfocus() diff --git a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj index 1deca238..24160a53 100644 --- a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj +++ b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj @@ -126,7 +126,7 @@ <Compile Include="ImageSourceConverter.cs" /> <Compile Include="INavigation.cs" /> <Compile Include="InvalidationEventArgs.cs" /> - <Compile Include="InvalidationTrigger.cs" /> + <Compile Include="Internals\InvalidationTrigger.cs" /> <Compile Include="InvalidNavigationException.cs" /> <Compile Include="IOpenGlViewController.cs" /> <Compile Include="IPanGestureController.cs" /> diff --git a/Xamarin.Forms.Platform.Android/NativeViewWrapperRenderer.cs b/Xamarin.Forms.Platform.Android/NativeViewWrapperRenderer.cs index 49abc02a..2036e4bb 100644 --- a/Xamarin.Forms.Platform.Android/NativeViewWrapperRenderer.cs +++ b/Xamarin.Forms.Platform.Android/NativeViewWrapperRenderer.cs @@ -1,3 +1,5 @@ +using Xamarin.Forms.Internals; + namespace Xamarin.Forms.Platform.Android { public class NativeViewWrapperRenderer : ViewRenderer<NativeViewWrapper, global::Android.Views.View> @@ -22,7 +24,7 @@ namespace Xamarin.Forms.Platform.Android if (e.OldElement == null) { SetNativeControl(Element.NativeView); - Control.LayoutChange += (sender, args) => Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + Control.LayoutChange += (sender, args) => ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } diff --git a/Xamarin.Forms.Platform.WP8/NativeViewWrapperRenderer.cs b/Xamarin.Forms.Platform.WP8/NativeViewWrapperRenderer.cs index e28dec94..e47a6ca0 100644 --- a/Xamarin.Forms.Platform.WP8/NativeViewWrapperRenderer.cs +++ b/Xamarin.Forms.Platform.WP8/NativeViewWrapperRenderer.cs @@ -1,4 +1,5 @@ using System.Windows; +using Xamarin.Forms.Internals; namespace Xamarin.Forms.Platform.WinPhone { @@ -55,7 +56,7 @@ namespace Xamarin.Forms.Platform.WinPhone if (e.OldElement == null) { SetNativeControl(Element.NativeElement); - Control.LayoutUpdated += (sender, args) => { Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); }; + Control.LayoutUpdated += (sender, args) => { ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); }; } } } diff --git a/Xamarin.Forms.Platform.WP8/ProgressBarRenderer.cs b/Xamarin.Forms.Platform.WP8/ProgressBarRenderer.cs index b027d674..293d2d0e 100644 --- a/Xamarin.Forms.Platform.WP8/ProgressBarRenderer.cs +++ b/Xamarin.Forms.Platform.WP8/ProgressBarRenderer.cs @@ -1,5 +1,6 @@ using System.ComponentModel; using System.Windows; +using Xamarin.Forms.Internals; namespace Xamarin.Forms.Platform.WinPhone { @@ -29,7 +30,7 @@ namespace Xamarin.Forms.Platform.WinPhone void ProgressBarOnValueChanged(object sender, RoutedPropertyChangedEventArgs<double> routedPropertyChangedEventArgs) { - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs b/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs index 49b232a1..28f5f8c4 100644 --- a/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs +++ b/Xamarin.Forms.Platform.WP8/ViewToRendererConverter.cs @@ -2,6 +2,7 @@ using System.Globalization; using System.Windows; using System.Windows.Controls; +using Xamarin.Forms.Internals; namespace Xamarin.Forms.Platform.WinPhone { @@ -40,7 +41,7 @@ namespace Xamarin.Forms.Platform.WinPhone { frameworkElement.Loaded += (sender, args) => { - _view.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)_view).InvalidateMeasure(InvalidationTrigger.MeasureChanged); InvalidateMeasure(); }; } diff --git a/Xamarin.Forms.Platform.WinRT/DatePickerRenderer.cs b/Xamarin.Forms.Platform.WinRT/DatePickerRenderer.cs index 88df5cbc..646d7d33 100644 --- a/Xamarin.Forms.Platform.WinRT/DatePickerRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/DatePickerRenderer.cs @@ -3,6 +3,7 @@ using System.ComponentModel; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -85,12 +86,12 @@ namespace Xamarin.Forms.Platform.WinRT if (currentDate != e.NewDate.Date) // Match coerced value UpdateDate(currentDate); - Element.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); + ((IVisualElementController)Element).InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); } void PickerOnForceInvalidate(object sender, EventArgs eventArgs) { - Element?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); } void UpdateDate(DateTime date) diff --git a/Xamarin.Forms.Platform.WinRT/ImageRenderer.cs b/Xamarin.Forms.Platform.WinRT/ImageRenderer.cs index 29368aaf..3807570d 100644 --- a/Xamarin.Forms.Platform.WinRT/ImageRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/ImageRenderer.cs @@ -3,6 +3,7 @@ using System.ComponentModel; using Windows.UI.Xaml; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Media.Imaging; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -90,7 +91,7 @@ namespace Xamarin.Forms.Platform.WinRT void RefreshImage() { - Element?.InvalidateMeasure(InvalidationTrigger.RendererReady); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.RendererReady); } void UpdateAspect() diff --git a/Xamarin.Forms.Platform.WinRT/NativeViewWrapperRenderer.cs b/Xamarin.Forms.Platform.WinRT/NativeViewWrapperRenderer.cs index 0e669774..b7e70d0f 100644 --- a/Xamarin.Forms.Platform.WinRT/NativeViewWrapperRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/NativeViewWrapperRenderer.cs @@ -1,4 +1,5 @@ using Windows.UI.Xaml; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -67,7 +68,7 @@ namespace Xamarin.Forms.Platform.WinRT if (e.OldElement == null) { SetNativeControl(Element.NativeElement); - Control.LayoutUpdated += (sender, args) => { Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); }; + Control.LayoutUpdated += (sender, args) => { ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); }; } } } diff --git a/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs b/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs index e37b79a1..7095333a 100644 --- a/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs @@ -5,6 +5,7 @@ using Windows.UI.Core; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -97,7 +98,7 @@ namespace Xamarin.Forms.Platform.WinRT if (!Control.IsFullScreen) { // Force a final redraw after the closing animation has completed - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } @@ -119,7 +120,7 @@ namespace Xamarin.Forms.Platform.WinRT } else { - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } else @@ -127,7 +128,7 @@ namespace Xamarin.Forms.Platform.WinRT // The ComboBox is now closed; if we were animating the closure, stop _isAnimating = false; // and force the final redraw - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } @@ -144,7 +145,7 @@ namespace Xamarin.Forms.Platform.WinRT while (_isAnimating) { await Task.Delay(16); - await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged)); + await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged)); } }); } diff --git a/Xamarin.Forms.Platform.WinRT/ProgressBarRenderer.cs b/Xamarin.Forms.Platform.WinRT/ProgressBarRenderer.cs index 87f1e35e..b805b2f6 100644 --- a/Xamarin.Forms.Platform.WinRT/ProgressBarRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/ProgressBarRenderer.cs @@ -1,5 +1,6 @@ using System.ComponentModel; using Windows.UI.Xaml.Controls.Primitives; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -53,7 +54,7 @@ namespace Xamarin.Forms.Platform.WinRT void ProgressBarOnValueChanged(object sender, RangeBaseValueChangedEventArgs rangeBaseValueChangedEventArgs) { - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.WinRT/TimePickerRenderer.cs b/Xamarin.Forms.Platform.WinRT/TimePickerRenderer.cs index 8c878b29..0095cdc4 100644 --- a/Xamarin.Forms.Platform.WinRT/TimePickerRenderer.cs +++ b/Xamarin.Forms.Platform.WinRT/TimePickerRenderer.cs @@ -3,6 +3,7 @@ using System.ComponentModel; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Media; +using Xamarin.Forms.Internals; #if WINDOWS_UWP @@ -77,12 +78,12 @@ namespace Xamarin.Forms.Platform.WinRT void OnControlTimeChanged(object sender, TimePickerValueChangedEventArgs e) { Element.Time = e.NewTime; - Element?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); } void PickerOnForceInvalidate(object sender, EventArgs eventArgs) { - Element?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.SizeRequestChanged); } void UpdateTime() diff --git a/Xamarin.Forms.Platform.iOS/NativeViewWrapperRenderer.cs b/Xamarin.Forms.Platform.iOS/NativeViewWrapperRenderer.cs index b21c8593..58cacdc6 100644 --- a/Xamarin.Forms.Platform.iOS/NativeViewWrapperRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/NativeViewWrapperRenderer.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using Xamarin.Forms.Internals; #if __UNIFIED__ using CoreGraphics; using UIKit; @@ -33,7 +34,7 @@ namespace Xamarin.Forms.Platform.iOS { if (Element?.LayoutSubViews == null) { - Element?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); + ((IVisualElementController)Element)?.InvalidateMeasure(InvalidationTrigger.MeasureChanged); base.LayoutSubviews(); return; } diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/InvalidationTrigger.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/InvalidationTrigger.xml new file mode 100644 index 00000000..345d841a --- /dev/null +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/InvalidationTrigger.xml @@ -0,0 +1,120 @@ +<Type Name="InvalidationTrigger" FullName="Xamarin.Forms.Internals.InvalidationTrigger"> + <TypeSignature Language="C#" Value="public enum InvalidationTrigger" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed InvalidationTrigger extends System.Enum" /> + <AssemblyInfo> + <AssemblyName>Xamarin.Forms.Core</AssemblyName> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="HorizontalOptionsChanged"> + <MemberSignature Language="C#" Value="HorizontalOptionsChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger HorizontalOptionsChanged = int32(2)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="MarginChanged"> + <MemberSignature Language="C#" Value="MarginChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger MarginChanged = int32(32)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="MeasureChanged"> + <MemberSignature Language="C#" Value="MeasureChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger MeasureChanged = int32(1)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="RendererReady"> + <MemberSignature Language="C#" Value="RendererReady" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger RendererReady = int32(16)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="SizeRequestChanged"> + <MemberSignature Language="C#" Value="SizeRequestChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger SizeRequestChanged = int32(8)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Undefined"> + <MemberSignature Language="C#" Value="Undefined" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger Undefined = int32(0)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="VerticalOptionsChanged"> + <MemberSignature Language="C#" Value="VerticalOptionsChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.Internals.InvalidationTrigger VerticalOptionsChanged = int32(4)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.Internals.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> +</Type> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/IVisualElementController.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/IVisualElementController.xml index a2b63a36..0b465dc2 100644 --- a/docs/Xamarin.Forms.Core/Xamarin.Forms/IVisualElementController.xml +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/IVisualElementController.xml @@ -18,6 +18,25 @@ <remarks>To be added.</remarks> </Docs> <Members> + <Member MemberName="InvalidateMeasure"> + <MemberSignature Language="C#" Value="public void InvalidateMeasure (Xamarin.Forms.Internals.InvalidationTrigger trigger);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void InvalidateMeasure(valuetype Xamarin.Forms.Internals.InvalidationTrigger trigger) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="trigger" Type="Xamarin.Forms.Internals.InvalidationTrigger" /> + </Parameters> + <Docs> + <param name="trigger">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="NativeSizeChanged"> <MemberSignature Language="C#" Value="public void NativeSizeChanged ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void NativeSizeChanged() cil managed" /> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/InvalidationTrigger.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/InvalidationTrigger.xml new file mode 100644 index 00000000..b75a5a71 --- /dev/null +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/InvalidationTrigger.xml @@ -0,0 +1,120 @@ +<Type Name="InvalidationTrigger" FullName="Xamarin.Forms.InvalidationTrigger"> + <TypeSignature Language="C#" Value="public enum InvalidationTrigger" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed InvalidationTrigger extends System.Enum" /> + <AssemblyInfo> + <AssemblyName>Xamarin.Forms.Core</AssemblyName> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="HorizontalOptionsChanged"> + <MemberSignature Language="C#" Value="HorizontalOptionsChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger HorizontalOptionsChanged = int32(2)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="MarginChanged"> + <MemberSignature Language="C#" Value="MarginChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger MarginChanged = int32(32)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="MeasureChanged"> + <MemberSignature Language="C#" Value="MeasureChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger MeasureChanged = int32(1)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="RendererReady"> + <MemberSignature Language="C#" Value="RendererReady" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger RendererReady = int32(16)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="SizeRequestChanged"> + <MemberSignature Language="C#" Value="SizeRequestChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger SizeRequestChanged = int32(8)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Undefined"> + <MemberSignature Language="C#" Value="Undefined" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger Undefined = int32(0)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="VerticalOptionsChanged"> + <MemberSignature Language="C#" Value="VerticalOptionsChanged" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.InvalidationTrigger VerticalOptionsChanged = int32(4)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.InvalidationTrigger</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> +</Type> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/VisualElement.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/VisualElement.xml index bd8e615b..732f2d00 100644 --- a/docs/Xamarin.Forms.Core/Xamarin.Forms/VisualElement.xml +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/VisualElement.xml @@ -512,7 +512,6 @@ <AssemblyVersion>1.3.0.0</AssemblyVersion> <AssemblyVersion>1.4.0.0</AssemblyVersion> <AssemblyVersion>1.5.0.0</AssemblyVersion> - <AssemblyVersion>2.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.Void</ReturnType> @@ -523,6 +522,22 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="InvalidateMeasureInternal"> + <MemberSignature Language="C#" Value="protected virtual void InvalidateMeasureInternal ();" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void InvalidateMeasureInternal() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="IsEnabled"> <MemberSignature Language="C#" Value="public bool IsEnabled { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance bool IsEnabled" /> @@ -1829,6 +1844,25 @@ <remarks>The x value of an element is set during the Layout phase.</remarks> </Docs> </Member> + <Member MemberName="Xamarin.Forms.IVisualElementController.InvalidateMeasure"> + <MemberSignature Language="C#" Value="void IVisualElementController.InvalidateMeasure (Xamarin.Forms.Internals.InvalidationTrigger trigger);" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Xamarin.Forms.IVisualElementController.InvalidateMeasure(valuetype Xamarin.Forms.Internals.InvalidationTrigger trigger) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="trigger" Type="Xamarin.Forms.Internals.InvalidationTrigger" /> + </Parameters> + <Docs> + <param name="trigger">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="Xamarin.Forms.IVisualElementController.NativeSizeChanged"> <MemberSignature Language="C#" Value="void IVisualElementController.NativeSizeChanged ();" /> <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Xamarin.Forms.IVisualElementController.NativeSizeChanged() cil managed" /> |