diff --git a/Xamarin.Forms.ControlGallery.iOS/Xamarin.Forms.ControlGallery.iOS.csproj b/Xamarin.Forms.ControlGallery.iOS/Xamarin.Forms.ControlGallery.iOS.csproj
index 58e4d1ccc..a601b513c 100644
--- a/Xamarin.Forms.ControlGallery.iOS/Xamarin.Forms.ControlGallery.iOS.csproj
+++ b/Xamarin.Forms.ControlGallery.iOS/Xamarin.Forms.ControlGallery.iOS.csproj
@@ -319,7 +319,6 @@
-
diff --git a/Xamarin.Forms.Controls/App.cs b/Xamarin.Forms.Controls/App.cs
index fcf0b1f6b..e5a6432a6 100644
--- a/Xamarin.Forms.Controls/App.cs
+++ b/Xamarin.Forms.Controls/App.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
diff --git a/Xamarin.Forms.Controls/ControlGalleryPages/PanGestureGalleryPage.cs b/Xamarin.Forms.Controls/ControlGalleryPages/PanGestureGalleryPage.cs
index ef595b63f..f355dfc19 100644
--- a/Xamarin.Forms.Controls/ControlGalleryPages/PanGestureGalleryPage.cs
+++ b/Xamarin.Forms.Controls/ControlGalleryPages/PanGestureGalleryPage.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls
{
diff --git a/Xamarin.Forms.Controls/ControlGalleryPages/PinchGestureTestPage.cs b/Xamarin.Forms.Controls/ControlGalleryPages/PinchGestureTestPage.cs
index 44dd6ae8c..6b17b36a6 100644
--- a/Xamarin.Forms.Controls/ControlGalleryPages/PinchGestureTestPage.cs
+++ b/Xamarin.Forms.Controls/ControlGalleryPages/PinchGestureTestPage.cs
@@ -1,5 +1,6 @@
using System;
using System.Diagnostics;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls
{
diff --git a/Xamarin.Forms.Controls/GalleryPages/GroupedListActionsGallery.cs b/Xamarin.Forms.Controls/GalleryPages/GroupedListActionsGallery.cs
index 3d8b85c9b..e6838a2f7 100644
--- a/Xamarin.Forms.Controls/GalleryPages/GroupedListActionsGallery.cs
+++ b/Xamarin.Forms.Controls/GalleryPages/GroupedListActionsGallery.cs
@@ -4,6 +4,7 @@ using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls
{
diff --git a/Xamarin.Forms.Controls/GalleryPages/NavigationMenuGallery.cs b/Xamarin.Forms.Controls/GalleryPages/NavigationMenuGallery.cs
index d63745da3..725bea2fe 100644
--- a/Xamarin.Forms.Controls/GalleryPages/NavigationMenuGallery.cs
+++ b/Xamarin.Forms.Controls/GalleryPages/NavigationMenuGallery.cs
@@ -1,4 +1,5 @@
using System.Diagnostics;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls
{
diff --git a/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/WindowsPlatformSpecificsGalleryHelpers.cs b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/WindowsPlatformSpecificsGalleryHelpers.cs
index 08371919d..9b3fbd851 100644
--- a/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/WindowsPlatformSpecificsGalleryHelpers.cs
+++ b/Xamarin.Forms.Controls/GalleryPages/PlatformSpecificsGalleries/WindowsPlatformSpecificsGalleryHelpers.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
diff --git a/Xamarin.Forms.Controls/TestCases.cs b/Xamarin.Forms.Controls/TestCases.cs
index 85f766f22..d559478ff 100644
--- a/Xamarin.Forms.Controls/TestCases.cs
+++ b/Xamarin.Forms.Controls/TestCases.cs
@@ -6,6 +6,7 @@ using System.Reflection;
using System.Threading.Tasks;
using Xamarin.Forms.Controls.TestCasesPages;
using Xamarin.Forms.CustomAttributes;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Controls
{
diff --git a/Xamarin.Forms.Core.Design/AttributeTableBuilder.cs b/Xamarin.Forms.Core.Design/AttributeTableBuilder.cs
index 07571d4c3..508c6387c 100644
--- a/Xamarin.Forms.Core.Design/AttributeTableBuilder.cs
+++ b/Xamarin.Forms.Core.Design/AttributeTableBuilder.cs
@@ -3,6 +3,7 @@ using System.ComponentModel;
using System.Linq;
using System.Windows.Markup;
using Microsoft.Windows.Design;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.Design
{
diff --git a/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs b/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
index c46f7c0ed..861d9af15 100644
--- a/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/BindableObjectUnitTests.cs
@@ -1,6 +1,7 @@
using System;
using System.Globalization;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
@@ -594,7 +595,7 @@ namespace Xamarin.Forms.Core.UnitTests
};
mock.SetValueCore (MockBindable.TextProperty, foo,
- BindableObject.SetValueFlags.ClearOneWayBindings | BindableObject.SetValueFlags.ClearDynamicResource | BindableObject.SetValueFlags.RaiseOnEqual);
+ SetValueFlags.ClearOneWayBindings | SetValueFlags.ClearDynamicResource | SetValueFlags.RaiseOnEqual);
Assert.That (changing, Is.True, "PropertyChanging event did not fire");
Assert.That (changed, Is.True, "PropertyChanged event did not fire");
diff --git a/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs b/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs
index 84addb7a1..71b6dd869 100644
--- a/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/BindingBaseUnitTests.cs
@@ -4,6 +4,7 @@ using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/BindingUnitTests.cs b/Xamarin.Forms.Core.UnitTests/BindingUnitTests.cs
index 548e4ad54..199845ef0 100644
--- a/Xamarin.Forms.Core.UnitTests/BindingUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/BindingUnitTests.cs
@@ -6,8 +6,9 @@ using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using NUnit.Framework;
-using CategoryAttribute=NUnit.Framework.CategoryAttribute;
-using DescriptionAttribute=NUnit.Framework.DescriptionAttribute;
+using CategoryAttribute = NUnit.Framework.CategoryAttribute;
+using DescriptionAttribute = NUnit.Framework.DescriptionAttribute;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/ListViewTests.cs b/Xamarin.Forms.Core.UnitTests/ListViewTests.cs
index 9b2810ed7..cea7931b5 100644
--- a/Xamarin.Forms.Core.UnitTests/ListViewTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/ListViewTests.cs
@@ -7,6 +7,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows.Input;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/MasterDetailFormUnitTests.cs b/Xamarin.Forms.Core.UnitTests/MasterDetailFormUnitTests.cs
index 8ace2e772..b02e91976 100644
--- a/Xamarin.Forms.Core.UnitTests/MasterDetailFormUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/MasterDetailFormUnitTests.cs
@@ -1,6 +1,7 @@
using System;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/MockPlatformServices.cs b/Xamarin.Forms.Core.UnitTests/MockPlatformServices.cs
index 3d6ddb92e..5adf6780e 100644
--- a/Xamarin.Forms.Core.UnitTests/MockPlatformServices.cs
+++ b/Xamarin.Forms.Core.UnitTests/MockPlatformServices.cs
@@ -149,13 +149,13 @@ namespace Xamarin.Forms.Core.UnitTests
return Task.FromResult (true);
}
- public Task OpenFileAsync (string path, FileMode mode, FileAccess access)
+ public Task OpenFileAsync (string path, Internals.FileMode mode, Internals.FileAccess access)
{
Stream stream = isolatedStorageFile.OpenFile (path, (System.IO.FileMode)mode, (System.IO.FileAccess)access);
return Task.FromResult (stream);
}
- public Task OpenFileAsync (string path, FileMode mode, FileAccess access, FileShare share)
+ public Task OpenFileAsync (string path, Internals.FileMode mode, Internals.FileAccess access, Internals.FileShare share)
{
Stream stream = isolatedStorageFile.OpenFile (path, (System.IO.FileMode)mode, (System.IO.FileAccess)access, (System.IO.FileShare)share);
return Task.FromResult (stream);
diff --git a/Xamarin.Forms.Core.UnitTests/NativeBindingTests.cs b/Xamarin.Forms.Core.UnitTests/NativeBindingTests.cs
index c13608d80..6c6bd1b80 100644
--- a/Xamarin.Forms.Core.UnitTests/NativeBindingTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/NativeBindingTests.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using NUnit.Framework;
using System.ComponentModel;
using System.Globalization;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/NavigationMenuUnitTests.cs b/Xamarin.Forms.Core.UnitTests/NavigationMenuUnitTests.cs
index b91f0229a..8ed5e738a 100644
--- a/Xamarin.Forms.Core.UnitTests/NavigationMenuUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/NavigationMenuUnitTests.cs
@@ -4,6 +4,7 @@ using NUnit.Framework;
using System.Collections.Generic;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
@@ -182,7 +183,7 @@ namespace Xamarin.Forms.Core.UnitTests
};
menu.Add (child);
- menu.SendTargetSelected (child);
+ ((INavigationMenuController)menu).SendTargetSelected (child);
Assert.True (pushed);
Assert.AreEqual (child, navForm.CurrentPage);
diff --git a/Xamarin.Forms.Core.UnitTests/NavigationModelTests.cs b/Xamarin.Forms.Core.UnitTests/NavigationModelTests.cs
index ec3aaf5fa..8173a89e8 100644
--- a/Xamarin.Forms.Core.UnitTests/NavigationModelTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/NavigationModelTests.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/NavigationProxyTests.cs b/Xamarin.Forms.Core.UnitTests/NavigationProxyTests.cs
index 459f4cf43..7dae5f5d8 100644
--- a/Xamarin.Forms.Core.UnitTests/NavigationProxyTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/NavigationProxyTests.cs
@@ -2,7 +2,7 @@ using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using System.Threading.Tasks;
-
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/PageTests.cs b/Xamarin.Forms.Core.UnitTests/PageTests.cs
index 74b56d8a6..b69428387 100644
--- a/Xamarin.Forms.Core.UnitTests/PageTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/PageTests.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/PanGestureRecognizerUnitTests.cs b/Xamarin.Forms.Core.UnitTests/PanGestureRecognizerUnitTests.cs
index c0207d699..0d08fc110 100644
--- a/Xamarin.Forms.Core.UnitTests/PanGestureRecognizerUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/PanGestureRecognizerUnitTests.cs
@@ -1,5 +1,6 @@
using System;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/PinchGestureRecognizerTests.cs b/Xamarin.Forms.Core.UnitTests/PinchGestureRecognizerTests.cs
index 3af550358..ecb7014a5 100644
--- a/Xamarin.Forms.Core.UnitTests/PinchGestureRecognizerTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/PinchGestureRecognizerTests.cs
@@ -1,5 +1,6 @@
using System;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/RegistrarUnitTests.cs b/Xamarin.Forms.Core.UnitTests/RegistrarUnitTests.cs
index 9758eaf05..c477f0224 100644
--- a/Xamarin.Forms.Core.UnitTests/RegistrarUnitTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/RegistrarUnitTests.cs
@@ -29,7 +29,7 @@ namespace Xamarin.Forms.Core.UnitTests
{
base.Setup ();
Device.PlatformServices = new MockPlatformServices ();
- Registrar.RegisterAll (new [] {
+ Internals.Registrar.RegisterAll (new [] {
typeof (TestHandlerAttribute)
});
@@ -45,7 +45,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void GetButtonHandler ()
{
- var buttonTarget = Registrar.Registered.GetHandler (typeof (Button));
+ var buttonTarget = Internals.Registrar.Registered.GetHandler (typeof (Button));
Assert.IsNotNull (buttonTarget);
Assert.That (buttonTarget, Is.InstanceOf());
}
@@ -53,7 +53,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void GetSliderHandler()
{
- var sliderTarget = Registrar.Registered.GetHandler (typeof (Slider));
+ var sliderTarget = Internals.Registrar.Registered.GetHandler (typeof (Slider));
Assert.IsNotNull (sliderTarget);
Assert.That (sliderTarget, Is.InstanceOf ());
}
@@ -76,7 +76,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void TestConstructor ()
{
- var registrar = new Registrar ();
+ var registrar = new Internals.Registrar ();
var renderer = registrar.GetHandler (typeof (Button));
@@ -86,7 +86,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void TestGetRendererForKnownClass ()
{
- var registrar = new Registrar ();
+ var registrar = new Internals.Registrar ();
registrar.Register (typeof(View), typeof(MockRenderer));
@@ -98,7 +98,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void TestGetRendererForUnknownSubclass ()
{
- var registrar = new Registrar ();
+ var registrar = new Internals.Registrar ();
registrar.Register (typeof (View), typeof (MockRenderer));
@@ -110,7 +110,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void TestGetRendererWithRegisteredSubclass ()
{
- var registrar = new Registrar ();
+ var registrar = new Internals.Registrar ();
registrar.Register (typeof (View), typeof (MockRenderer));
registrar.Register (typeof (Button), typeof (ButtonMockRenderer));
@@ -126,7 +126,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void TestReplaceRenderer ()
{
- var registrar = new Registrar ();
+ var registrar = new Internals.Registrar ();
registrar.Register (typeof (View), typeof (MockRenderer));
registrar.Register (typeof (Button), typeof (ButtonMockRenderer));
@@ -140,7 +140,7 @@ namespace Xamarin.Forms.Core.UnitTests
[Test]
public void GetHandlerType()
{
- var registrar = new Registrar();
+ var registrar = new Internals.Registrar();
registrar.Register (typeof (View), typeof (MockRenderer));
Assert.AreEqual (typeof (MockRenderer), registrar.GetHandlerType (typeof (View)));
diff --git a/Xamarin.Forms.Core.UnitTests/RelativeLayoutTests.cs b/Xamarin.Forms.Core.UnitTests/RelativeLayoutTests.cs
index fdbcdfc00..c35a6d040 100644
--- a/Xamarin.Forms.Core.UnitTests/RelativeLayoutTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/RelativeLayoutTests.cs
@@ -5,6 +5,7 @@ using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/ResourceDictionaryTests.cs b/Xamarin.Forms.Core.UnitTests/ResourceDictionaryTests.cs
index 9a2c6f015..3621d9559 100644
--- a/Xamarin.Forms.Core.UnitTests/ResourceDictionaryTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/ResourceDictionaryTests.cs
@@ -2,6 +2,7 @@
using System.Linq;
using NUnit.Framework;
using System.Collections.Generic;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/TableModelTests.cs b/Xamarin.Forms.Core.UnitTests/TableModelTests.cs
index 9173d387e..c4121de54 100644
--- a/Xamarin.Forms.Core.UnitTests/TableModelTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/TableModelTests.cs
@@ -1,6 +1,6 @@
using System;
using NUnit.Framework;
-
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/TemplatedItemsListTests.cs b/Xamarin.Forms.Core.UnitTests/TemplatedItemsListTests.cs
index d723b660f..4cac9404f 100644
--- a/Xamarin.Forms.Core.UnitTests/TemplatedItemsListTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/TemplatedItemsListTests.cs
@@ -4,6 +4,7 @@ using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Linq;
using NUnit.Framework;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core.UnitTests/UnitPlatform.cs b/Xamarin.Forms.Core.UnitTests/UnitPlatform.cs
index 1d78a7b22..401beaef5 100644
--- a/Xamarin.Forms.Core.UnitTests/UnitPlatform.cs
+++ b/Xamarin.Forms.Core.UnitTests/UnitPlatform.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Core.UnitTests
{
diff --git a/Xamarin.Forms.Core/ActionSheetArguments.cs b/Xamarin.Forms.Core/ActionSheetArguments.cs
index 3417ed61b..a73360270 100644
--- a/Xamarin.Forms.Core/ActionSheetArguments.cs
+++ b/Xamarin.Forms.Core/ActionSheetArguments.cs
@@ -1,9 +1,9 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class ActionSheetArguments
+ public class ActionSheetArguments
{
public ActionSheetArguments(string title, string cancel, string destruction, IEnumerable buttons)
{
diff --git a/Xamarin.Forms.Core/AlertArguments.cs b/Xamarin.Forms.Core/AlertArguments.cs
index 87224cb4b..4e1725375 100644
--- a/Xamarin.Forms.Core/AlertArguments.cs
+++ b/Xamarin.Forms.Core/AlertArguments.cs
@@ -1,8 +1,8 @@
using System.Threading.Tasks;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class AlertArguments
+ public class AlertArguments
{
public AlertArguments(string title, string message, string accept, string cancel)
{
diff --git a/Xamarin.Forms.Core/Application.cs b/Xamarin.Forms.Core/Application.cs
index e089cf881..38333bf79 100644
--- a/Xamarin.Forms.Core/Application.cs
+++ b/Xamarin.Forms.Core/Application.cs
@@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
-
+using System.ComponentModel;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
@@ -29,7 +30,7 @@ namespace Xamarin.Forms
if (f)
Loader.Load();
NavigationProxy = new NavigationImpl(this);
- Current = this;
+ SetCurrentApplication(this);
SystemResources = DependencyService.Get().GetSystemResources();
SystemResources.ValuesChanged += OnParentResourcesChanged;
@@ -48,10 +49,13 @@ namespace Xamarin.Forms
}
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetCurrentApplication(Application value) => Current = value;
+
public static Application Current
{
get { return s_current; }
- internal set
+ set
{
if (s_current == value)
return;
@@ -109,9 +113,11 @@ namespace Xamarin.Forms
get { return _logicalChildren ?? (_logicalChildren = new ReadOnlyCollection(InternalChildren)); }
}
- internal NavigationProxy NavigationProxy { get; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public NavigationProxy NavigationProxy { get; }
- internal int PanGestureId { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public int PanGestureId { get; set; }
internal IResourceDictionary SystemResources { get; }
@@ -182,12 +188,14 @@ namespace Xamarin.Forms
{
}
- internal static void ClearCurrent()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void ClearCurrent()
{
s_current = null;
}
- internal static bool IsApplicationOrNull(Element element)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static bool IsApplicationOrNull(Element element)
{
return element == null || element is Application;
}
@@ -214,24 +222,28 @@ namespace Xamarin.Forms
internal event EventHandler PopCanceled;
- internal void SendOnAppLinkRequestReceived(Uri uri)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SendOnAppLinkRequestReceived(Uri uri)
{
OnAppLinkRequestReceived(uri);
}
- internal void SendResume()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SendResume()
{
s_current = this;
OnResume();
}
- internal Task SendSleepAsync()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Task SendSleepAsync()
{
OnSleep();
return SavePropertiesAsync();
}
- internal void SendStart()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SendStart()
{
OnStart();
}
diff --git a/Xamarin.Forms.Core/BindableObject.cs b/Xamarin.Forms.Core/BindableObject.cs
index b5e41452e..8ce583c6b 100644
--- a/Xamarin.Forms.Core/BindableObject.cs
+++ b/Xamarin.Forms.Core/BindableObject.cs
@@ -91,7 +91,8 @@ namespace Xamarin.Forms
SetValue(propertyKey.BindableProperty, value, false, false);
}
- protected internal static void SetInheritedBindingContext(BindableObject bindable, object value)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetInheritedBindingContext(BindableObject bindable, object value)
{
BindablePropertyContext bpContext = bindable.GetContext(BindingContextProperty);
if (bpContext != null && ((bpContext.Attributes & BindableContextAttributes.IsManuallySet) != 0))
@@ -202,7 +203,8 @@ namespace Xamarin.Forms
return values;
}
- internal object[] GetValues(BindableProperty property0, BindableProperty property1, BindableProperty property2)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public object[] GetValues(BindableProperty property0, BindableProperty property1, BindableProperty property2)
{
var values = new object[3];
@@ -326,7 +328,8 @@ namespace Xamarin.Forms
SetValueCore(propertyKey.BindableProperty, value, attributes, SetValuePrivateFlags.None);
}
- internal void SetValueCore(BindableProperty property, object value, SetValueFlags attributes = SetValueFlags.None)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SetValueCore(BindableProperty property, object value, SetValueFlags attributes = SetValueFlags.None)
{
SetValueCore(property, value, attributes, SetValuePrivateFlags.Default);
}
@@ -611,16 +614,6 @@ namespace Xamarin.Forms
public object Value;
}
- [Flags]
- internal enum SetValueFlags
- {
- None = 0,
- ClearOneWayBindings = 1 << 0,
- ClearTwoWayBindings = 1 << 1,
- ClearDynamicResource = 1 << 2,
- RaiseOnEqual = 1 << 3
- }
-
[Flags]
internal enum SetValuePrivateFlags
{
@@ -651,4 +644,17 @@ namespace Xamarin.Forms
}
}
}
+
+ namespace Internals
+ {
+ [Flags]
+ public enum SetValueFlags
+ {
+ None = 0,
+ ClearOneWayBindings = 1 << 0,
+ ClearTwoWayBindings = 1 << 1,
+ ClearDynamicResource = 1 << 2,
+ RaiseOnEqual = 1 << 3
+ }
+ }
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/BindableProperty.cs b/Xamarin.Forms.Core/BindableProperty.cs
index 5eb330ff0..e0cbbdd5d 100644
--- a/Xamarin.Forms.Core/BindableProperty.cs
+++ b/Xamarin.Forms.Core/BindableProperty.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq.Expressions;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/BindablePropertyConverter.cs b/Xamarin.Forms.Core/BindablePropertyConverter.cs
index 08201b011..ee69ef2fb 100644
--- a/Xamarin.Forms.Core/BindablePropertyConverter.cs
+++ b/Xamarin.Forms.Core/BindablePropertyConverter.cs
@@ -3,6 +3,7 @@ using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Xml;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Xaml;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Binding.cs b/Xamarin.Forms.Core/Binding.cs
index 71a2996b2..e980fc989 100644
--- a/Xamarin.Forms.Core/Binding.cs
+++ b/Xamarin.Forms.Core/Binding.cs
@@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -82,7 +84,8 @@ namespace Xamarin.Forms
}
}
- internal string UpdateSourceEventName {
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public string UpdateSourceEventName {
get { return _updateSourceEventName; }
set {
ThrowIfApplied();
diff --git a/Xamarin.Forms.Core/BindingExpression.cs b/Xamarin.Forms.Core/BindingExpression.cs
index 204b171dc..e37370d7a 100644
--- a/Xamarin.Forms.Core/BindingExpression.cs
+++ b/Xamarin.Forms.Core/BindingExpression.cs
@@ -5,6 +5,7 @@ using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -170,7 +171,7 @@ namespace Xamarin.Forms
return;
}
- target.SetValueCore(property, value, BindableObject.SetValueFlags.ClearDynamicResource, BindableObject.SetValuePrivateFlags.Default | BindableObject.SetValuePrivateFlags.Converted);
+ target.SetValueCore(property, value, SetValueFlags.ClearDynamicResource, BindableObject.SetValuePrivateFlags.Default | BindableObject.SetValuePrivateFlags.Converted);
}
else if (needsSetter && part.LastSetter != null && current != null)
{
diff --git a/Xamarin.Forms.Core/BoundsConstraint.cs b/Xamarin.Forms.Core/BoundsConstraint.cs
index 43be86eb9..2d9bb402b 100644
--- a/Xamarin.Forms.Core/BoundsConstraint.cs
+++ b/Xamarin.Forms.Core/BoundsConstraint.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Color.cs b/Xamarin.Forms.Core/Color.cs
index 2b19e58dd..227f2817f 100644
--- a/Xamarin.Forms.Core/Color.cs
+++ b/Xamarin.Forms.Core/Color.cs
@@ -1,6 +1,8 @@
using System;
+using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -22,11 +24,14 @@ namespace Xamarin.Forms
get { return new Color(-1d, -1d, -1d, -1d, Mode.Default); }
}
- internal bool IsDefault
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool IsDefault
{
get { return _mode == Mode.Default; }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetAccent(Color value) => Accent = value;
public static Color Accent { get; internal set; }
readonly float _a;
diff --git a/Xamarin.Forms.Core/ColorTypeConverter.cs b/Xamarin.Forms.Core/ColorTypeConverter.cs
index 2b7efa708..3e22bdd88 100644
--- a/Xamarin.Forms.Core/ColorTypeConverter.cs
+++ b/Xamarin.Forms.Core/ColorTypeConverter.cs
@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Globalization;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Constraint.cs b/Xamarin.Forms.Core/Constraint.cs
index bd219f0a8..42d217ba8 100644
--- a/Xamarin.Forms.Core/Constraint.cs
+++ b/Xamarin.Forms.Core/Constraint.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/CustomKeyboard.cs b/Xamarin.Forms.Core/CustomKeyboard.cs
index 422198cce..daf0d241b 100644
--- a/Xamarin.Forms.Core/CustomKeyboard.cs
+++ b/Xamarin.Forms.Core/CustomKeyboard.cs
@@ -1,12 +1,16 @@
-namespace Xamarin.Forms
+using System.ComponentModel;
+
+namespace Xamarin.Forms.Internals
{
- internal sealed class CustomKeyboard : Keyboard
+ public sealed class CustomKeyboard : Keyboard
{
internal CustomKeyboard(KeyboardFlags flags)
{
Flags = flags;
}
- internal KeyboardFlags Flags { get; private set; }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public KeyboardFlags Flags { get; private set; }
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/DataTemplateExtensions.cs b/Xamarin.Forms.Core/DataTemplateExtensions.cs
index ffa0ffd09..066675573 100644
--- a/Xamarin.Forms.Core/DataTemplateExtensions.cs
+++ b/Xamarin.Forms.Core/DataTemplateExtensions.cs
@@ -1,7 +1,10 @@
-namespace Xamarin.Forms
+using System.ComponentModel;
+
+namespace Xamarin.Forms.Internals
{
- internal static class DataTemplateExtensions
+ public static class DataTemplateExtensions
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static object CreateContent(this DataTemplate self, object item, BindableObject container)
{
var selector = self as DataTemplateSelector;
diff --git a/Xamarin.Forms.Core/DelegateLogListener.cs b/Xamarin.Forms.Core/DelegateLogListener.cs
index 20a0ab764..ba0e9d1b2 100644
--- a/Xamarin.Forms.Core/DelegateLogListener.cs
+++ b/Xamarin.Forms.Core/DelegateLogListener.cs
@@ -1,8 +1,9 @@
using System;
+using Xamarin.Forms.Internals;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class DelegateLogListener : LogListener
+ public class DelegateLogListener : LogListener
{
readonly Action _log;
diff --git a/Xamarin.Forms.Core/DependencyService.cs b/Xamarin.Forms.Core/DependencyService.cs
index 2e0ae0568..803a951ad 100644
--- a/Xamarin.Forms.Core/DependencyService.cs
+++ b/Xamarin.Forms.Core/DependencyService.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Device.cs b/Xamarin.Forms.Core/Device.cs
index 755a8e2d0..d7f293ffb 100644
--- a/Xamarin.Forms.Core/Device.cs
+++ b/Xamarin.Forms.Core/Device.cs
@@ -1,8 +1,10 @@
using System;
+using System.ComponentModel;
using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -15,12 +17,18 @@ namespace Xamarin.Forms
public const string WinRT = "WinRT";
public const string macOS = "macOS";
- internal static DeviceInfo info;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static DeviceInfo info;
static IPlatformServices s_platformServices;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetIdiom(TargetIdiom value) => Idiom = value;
public static TargetIdiom Idiom { get; internal set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetTargetIdiom(TargetIdiom value) => Idiom = value;
+
[Obsolete("Use RuntimePlatform instead.")]
#pragma warning disable 0618
public static TargetPlatform OS
@@ -44,7 +52,8 @@ namespace Xamarin.Forms
public static string RuntimePlatform => PlatformServices.RuntimePlatform;
- internal static DeviceInfo Info
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static DeviceInfo Info
{
get
{
@@ -55,12 +64,14 @@ namespace Xamarin.Forms
set { info = value; }
}
- internal static bool IsInvokeRequired
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static bool IsInvokeRequired
{
get { return PlatformServices.IsInvokeRequired; }
}
- internal static IPlatformServices PlatformServices
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IPlatformServices PlatformServices
{
get
{
@@ -144,12 +155,14 @@ namespace Xamarin.Forms
PlatformServices.StartTimer(interval, callback);
}
- internal static Assembly[] GetAssemblies()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static Assembly[] GetAssemblies()
{
return PlatformServices.GetAssemblies();
}
- internal static double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes)
{
return PlatformServices.GetNamedSize(size, targetElementType, useOldSizes);
}
diff --git a/Xamarin.Forms.Core/DeviceInfo.cs b/Xamarin.Forms.Core/DeviceInfo.cs
index dc83075a4..722ef5041 100644
--- a/Xamarin.Forms.Core/DeviceInfo.cs
+++ b/Xamarin.Forms.Core/DeviceInfo.cs
@@ -2,17 +2,18 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal abstract class DeviceInfo : INotifyPropertyChanged, IDisposable
+ public abstract class DeviceInfo : INotifyPropertyChanged, IDisposable
{
DeviceOrientation _currentOrientation;
bool _disposed;
+ [EditorBrowsable(EditorBrowsableState.Never)]
public DeviceOrientation CurrentOrientation
{
get { return _currentOrientation; }
- internal set
+ set
{
if (Equals(_currentOrientation, value))
return;
diff --git a/Xamarin.Forms.Core/DeviceOrientation.cs b/Xamarin.Forms.Core/DeviceOrientation.cs
index 53a03f2d9..58385af82 100644
--- a/Xamarin.Forms.Core/DeviceOrientation.cs
+++ b/Xamarin.Forms.Core/DeviceOrientation.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal enum DeviceOrientation
+ public enum DeviceOrientation
{
Portrait,
Landscape,
diff --git a/Xamarin.Forms.Core/DeviceOrientationExtensions.cs b/Xamarin.Forms.Core/DeviceOrientationExtensions.cs
index 8dbaaa820..9dc976948 100644
--- a/Xamarin.Forms.Core/DeviceOrientationExtensions.cs
+++ b/Xamarin.Forms.Core/DeviceOrientationExtensions.cs
@@ -1,12 +1,16 @@
-namespace Xamarin.Forms
+using System.ComponentModel;
+
+namespace Xamarin.Forms.Internals
{
- internal static class DeviceOrientationExtensions
+ public static class DeviceOrientationExtensions
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static bool IsLandscape(this DeviceOrientation orientation)
{
return orientation == DeviceOrientation.Landscape || orientation == DeviceOrientation.LandscapeLeft || orientation == DeviceOrientation.LandscapeRight;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static bool IsPortrait(this DeviceOrientation orientation)
{
return orientation == DeviceOrientation.Portrait || orientation == DeviceOrientation.PortraitDown || orientation == DeviceOrientation.PortraitUp;
diff --git a/Xamarin.Forms.Core/Editor.cs b/Xamarin.Forms.Core/Editor.cs
index 35aaf43f2..16a97f616 100644
--- a/Xamarin.Forms.Core/Editor.cs
+++ b/Xamarin.Forms.Core/Editor.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Effect.cs b/Xamarin.Forms.Core/Effect.cs
index 9e2691186..895284461 100644
--- a/Xamarin.Forms.Core/Effect.cs
+++ b/Xamarin.Forms.Core/Effect.cs
@@ -1,5 +1,6 @@
using System;
using System.ComponentModel;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Element.cs b/Xamarin.Forms.Core/Element.cs
index d0f713e4a..016468a7c 100644
--- a/Xamarin.Forms.Core/Element.cs
+++ b/Xamarin.Forms.Core/Element.cs
@@ -133,7 +133,8 @@ namespace Xamarin.Forms
}
}
- internal IPlatform Platform
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public IPlatform Platform
{
get
{
@@ -158,7 +159,8 @@ namespace Xamarin.Forms
}
// you're not my real dad
- internal Element RealParent { get; private set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Element RealParent { get; private set; }
List> DynamicResources
{
@@ -389,7 +391,8 @@ namespace Xamarin.Forms
}
}
- internal IEnumerable Descendants()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public IEnumerable Descendants()
{
var queue = new Queue(16);
queue.Enqueue(this);
@@ -476,7 +479,8 @@ namespace Xamarin.Forms
internal event EventHandler ParentSet;
- internal event EventHandler PlatformSet;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler PlatformSet;
internal virtual void SetChildInheritedBindingContext(Element child, object context)
{
diff --git a/Xamarin.Forms.Core/Entry.cs b/Xamarin.Forms.Core/Entry.cs
index 3c63c13b4..63ba5f101 100644
--- a/Xamarin.Forms.Core/Entry.cs
+++ b/Xamarin.Forms.Core/Entry.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/EnumerableExtensions.cs b/Xamarin.Forms.Core/EnumerableExtensions.cs
index 066e7e910..db9f8c90d 100644
--- a/Xamarin.Forms.Core/EnumerableExtensions.cs
+++ b/Xamarin.Forms.Core/EnumerableExtensions.cs
@@ -1,9 +1,10 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal static class EnumerableExtensions
+ public static class EnumerableExtensions
{
public static IEnumerable GetGesturesFor(this IEnumerable gestures, Func predicate = null) where T : GestureRecognizer
{
@@ -31,7 +32,8 @@ namespace Xamarin.Forms
yield return item;
}
- internal static void ForEach(this IEnumerable enumeration, Action action)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void ForEach(this IEnumerable enumeration, Action action)
{
foreach (T item in enumeration)
{
@@ -39,7 +41,8 @@ namespace Xamarin.Forms
}
}
- internal static int IndexOf(this IEnumerable enumerable, T item)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static int IndexOf(this IEnumerable enumerable, T item)
{
if (enumerable == null)
throw new ArgumentNullException("enumerable");
@@ -56,7 +59,8 @@ namespace Xamarin.Forms
return -1;
}
- internal static int IndexOf(this IEnumerable enumerable, Func predicate)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static int IndexOf(this IEnumerable enumerable, Func predicate)
{
var i = 0;
foreach (T element in enumerable)
@@ -70,7 +74,8 @@ namespace Xamarin.Forms
return -1;
}
- internal static IEnumerable Prepend(this IEnumerable enumerable, T item)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IEnumerable Prepend(this IEnumerable enumerable, T item)
{
yield return item;
diff --git a/Xamarin.Forms.Core/EventArg.cs b/Xamarin.Forms.Core/EventArg.cs
index 9b9ea0a17..641363498 100644
--- a/Xamarin.Forms.Core/EventArg.cs
+++ b/Xamarin.Forms.Core/EventArg.cs
@@ -1,8 +1,8 @@
using System;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class EventArg : EventArgs
+ public class EventArg : EventArgs
{
// Property variable
diff --git a/Xamarin.Forms.Core/ExpressionSearch.cs b/Xamarin.Forms.Core/ExpressionSearch.cs
index fbbe80a87..002f654c8 100644
--- a/Xamarin.Forms.Core/ExpressionSearch.cs
+++ b/Xamarin.Forms.Core/ExpressionSearch.cs
@@ -1,7 +1,10 @@
-namespace Xamarin.Forms
+using System.ComponentModel;
+
+namespace Xamarin.Forms.Internals
{
- internal abstract class ExpressionSearch
+ public abstract class ExpressionSearch
{
- internal static IExpressionSearch Default { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IExpressionSearch Default { get; set; }
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/FileAccess.cs b/Xamarin.Forms.Core/FileAccess.cs
index 3636b7339..e6c40fbe5 100644
--- a/Xamarin.Forms.Core/FileAccess.cs
+++ b/Xamarin.Forms.Core/FileAccess.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal enum FileAccess
+ public enum FileAccess
{
Read = 0x00000001,
Write = 0x00000002,
diff --git a/Xamarin.Forms.Core/FileMode.cs b/Xamarin.Forms.Core/FileMode.cs
index 313698725..b83861d47 100644
--- a/Xamarin.Forms.Core/FileMode.cs
+++ b/Xamarin.Forms.Core/FileMode.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal enum FileMode
+ public enum FileMode
{
CreateNew = 1,
Create = 2,
diff --git a/Xamarin.Forms.Core/FileShare.cs b/Xamarin.Forms.Core/FileShare.cs
index bf9fc7178..a23832b10 100644
--- a/Xamarin.Forms.Core/FileShare.cs
+++ b/Xamarin.Forms.Core/FileShare.cs
@@ -1,9 +1,9 @@
using System;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
[Flags]
- internal enum FileShare
+ public enum FileShare
{
None = 0,
Read = 1,
diff --git a/Xamarin.Forms.Core/FontElement.cs b/Xamarin.Forms.Core/FontElement.cs
index 7c15a48bd..6963ad042 100644
--- a/Xamarin.Forms.Core/FontElement.cs
+++ b/Xamarin.Forms.Core/FontElement.cs
@@ -1,3 +1,5 @@
+using Xamarin.Forms.Internals;
+
namespace Xamarin.Forms
{
static class FontElement
diff --git a/Xamarin.Forms.Core/Grid.cs b/Xamarin.Forms.Core/Grid.cs
index a0460af55..adc239e79 100644
--- a/Xamarin.Forms.Core/Grid.cs
+++ b/Xamarin.Forms.Core/Grid.cs
@@ -7,7 +7,7 @@ using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
- public partial class Grid : Layout
+ public partial class Grid : Layout, IGridController
{
public static readonly BindableProperty RowProperty = BindableProperty.CreateAttached("Row", typeof(int), typeof(Grid), default(int), validateValue: (bindable, value) => (int)value >= 0);
@@ -212,6 +212,11 @@ namespace Xamarin.Forms
view.ComputedConstraint = result;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void InvalidateMeasureInernalNonVirtual(InvalidationTrigger trigger)
+ {
+ InvalidateMeasureInternal(trigger);
+ }
internal override void InvalidateMeasureInternal(InvalidationTrigger trigger)
{
base.InvalidateMeasureInternal(trigger);
diff --git a/Xamarin.Forms.Core/HtmlWebViewSource.cs b/Xamarin.Forms.Core/HtmlWebViewSource.cs
index a5eccc96e..cbc94fe73 100644
--- a/Xamarin.Forms.Core/HtmlWebViewSource.cs
+++ b/Xamarin.Forms.Core/HtmlWebViewSource.cs
@@ -1,3 +1,5 @@
+using System.ComponentModel;
+
namespace Xamarin.Forms
{
public class HtmlWebViewSource : WebViewSource
@@ -20,7 +22,8 @@ namespace Xamarin.Forms
set { SetValue(HtmlProperty, value); }
}
- internal override void Load(IWebViewDelegate renderer)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override void Load(IWebViewDelegate renderer)
{
renderer.LoadHtml(Html, BaseUrl);
}
diff --git a/Xamarin.Forms.Core/IDeserializer.cs b/Xamarin.Forms.Core/IDeserializer.cs
index 60478e1b4..e1380179d 100644
--- a/Xamarin.Forms.Core/IDeserializer.cs
+++ b/Xamarin.Forms.Core/IDeserializer.cs
@@ -1,9 +1,9 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IDeserializer
+ public interface IDeserializer
{
Task> DeserializePropertiesAsync();
Task SerializePropertiesAsync(IDictionary properties);
diff --git a/Xamarin.Forms.Core/IElement.cs b/Xamarin.Forms.Core/IElement.cs
index ee302b5fa..1e13930d0 100644
--- a/Xamarin.Forms.Core/IElement.cs
+++ b/Xamarin.Forms.Core/IElement.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/IElementController.cs b/Xamarin.Forms.Core/IElementController.cs
index 24713b0eb..090f4c2bc 100644
--- a/Xamarin.Forms.Core/IElementController.cs
+++ b/Xamarin.Forms.Core/IElementController.cs
@@ -1,4 +1,7 @@
+using System;
+using System.Collections.Generic;
using System.Collections.ObjectModel;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -11,5 +14,9 @@ namespace Xamarin.Forms
void SetValueFromRenderer(BindableProperty property, object value);
void SetValueFromRenderer(BindablePropertyKey propertyKey, object value);
ReadOnlyCollection LogicalChildren { get; }
+ IPlatform Platform { get; set; }
+ Element RealParent { get; }
+ IEnumerable Descendants();
+ event EventHandler PlatformSet;
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/IExpressionSearch.cs b/Xamarin.Forms.Core/IExpressionSearch.cs
index e5d4c26f1..f4ee871c7 100644
--- a/Xamarin.Forms.Core/IExpressionSearch.cs
+++ b/Xamarin.Forms.Core/IExpressionSearch.cs
@@ -1,9 +1,9 @@
using System.Collections.Generic;
using System.Linq.Expressions;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IExpressionSearch
+ public interface IExpressionSearch
{
List FindObjects(Expression expression) where T : class;
}
diff --git a/Xamarin.Forms.Core/IFontElement.cs b/Xamarin.Forms.Core/IFontElement.cs
index 044497455..39a618e30 100644
--- a/Xamarin.Forms.Core/IFontElement.cs
+++ b/Xamarin.Forms.Core/IFontElement.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- interface IFontElement
+ public interface IFontElement
{
//note to implementor: implement the properties publicly
FontAttributes FontAttributes { get; }
diff --git a/Xamarin.Forms.Core/IGridController.cs b/Xamarin.Forms.Core/IGridController.cs
new file mode 100644
index 000000000..38f2b9357
--- /dev/null
+++ b/Xamarin.Forms.Core/IGridController.cs
@@ -0,0 +1,9 @@
+using Xamarin.Forms.Internals;
+
+namespace Xamarin.Forms
+{
+ public interface IGridController
+ {
+ void InvalidateMeasureInernalNonVirtual(InvalidationTrigger trigger);
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/IIsolatedStorageFile.cs b/Xamarin.Forms.Core/IIsolatedStorageFile.cs
index 508990234..684d402c6 100644
--- a/Xamarin.Forms.Core/IIsolatedStorageFile.cs
+++ b/Xamarin.Forms.Core/IIsolatedStorageFile.cs
@@ -2,9 +2,9 @@ using System;
using System.IO;
using System.Threading.Tasks;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IIsolatedStorageFile
+ public interface IIsolatedStorageFile
{
Task CreateDirectoryAsync(string path);
Task GetDirectoryExistsAsync(string path);
diff --git a/Xamarin.Forms.Core/IMenuItemController.cs b/Xamarin.Forms.Core/IMenuItemController.cs
index 4737b1706..33bcfc2d7 100644
--- a/Xamarin.Forms.Core/IMenuItemController.cs
+++ b/Xamarin.Forms.Core/IMenuItemController.cs
@@ -2,7 +2,7 @@ namespace Xamarin.Forms
{
public interface IMenuItemController
{
- bool IsEnabled { get; }
+ bool IsEnabled { get; set; }
string IsEnabledPropertyName { get; }
void Activate();
diff --git a/Xamarin.Forms.Core/IMultiPageController.cs b/Xamarin.Forms.Core/IMultiPageController.cs
new file mode 100644
index 000000000..45a5cb7b9
--- /dev/null
+++ b/Xamarin.Forms.Core/IMultiPageController.cs
@@ -0,0 +1,7 @@
+namespace Xamarin.Forms
+{
+ public interface IMultiPageController
+ {
+ T GetPageByIndex(int index);
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/INativeBindingService.cs b/Xamarin.Forms.Core/INativeBindingService.cs
index d926dae43..fc41dc6cf 100644
--- a/Xamarin.Forms.Core/INativeBindingService.cs
+++ b/Xamarin.Forms.Core/INativeBindingService.cs
@@ -1,7 +1,7 @@
-namespace Xamarin.Forms.Xaml
+namespace Xamarin.Forms.Xaml.Internals
{
- interface INativeBindingService
+ public interface INativeBindingService
{
bool TrySetBinding(object target, string propertyName, BindingBase binding);
bool TrySetBinding(object target, BindableProperty property, BindingBase binding);
diff --git a/Xamarin.Forms.Core/INativeValueConverterService.cs b/Xamarin.Forms.Core/INativeValueConverterService.cs
index 4309be9a4..d89b5c117 100644
--- a/Xamarin.Forms.Core/INativeValueConverterService.cs
+++ b/Xamarin.Forms.Core/INativeValueConverterService.cs
@@ -1,8 +1,8 @@
using System;
-namespace Xamarin.Forms.Xaml
+namespace Xamarin.Forms.Xaml.Internals
{
- interface INativeValueConverterService
+ public interface INativeValueConverterService
{
bool ConvertTo(object value, Type toType, out object nativeValue);
}
diff --git a/Xamarin.Forms.Core/INavigationMenuController.cs b/Xamarin.Forms.Core/INavigationMenuController.cs
new file mode 100644
index 000000000..df33b69d0
--- /dev/null
+++ b/Xamarin.Forms.Core/INavigationMenuController.cs
@@ -0,0 +1,7 @@
+namespace Xamarin.Forms
+{
+ public interface INavigationMenuController : IViewController
+ {
+ void SendTargetSelected(Page target);
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/IPanGestureController.cs b/Xamarin.Forms.Core/IPanGestureController.cs
index 962830923..60ebbad80 100644
--- a/Xamarin.Forms.Core/IPanGestureController.cs
+++ b/Xamarin.Forms.Core/IPanGestureController.cs
@@ -1,6 +1,6 @@
namespace Xamarin.Forms
{
- internal interface IPanGestureController
+ public interface IPanGestureController
{
void SendPan(Element sender, double totalX, double totalY, int gestureId);
diff --git a/Xamarin.Forms.Core/IPinchGestureController.cs b/Xamarin.Forms.Core/IPinchGestureController.cs
index 9848fa745..5528f6688 100644
--- a/Xamarin.Forms.Core/IPinchGestureController.cs
+++ b/Xamarin.Forms.Core/IPinchGestureController.cs
@@ -1,6 +1,6 @@
namespace Xamarin.Forms
{
- internal interface IPinchGestureController
+ public interface IPinchGestureController
{
bool IsPinching { get; set; }
diff --git a/Xamarin.Forms.Core/IPlatform.cs b/Xamarin.Forms.Core/IPlatform.cs
index 507abcfe4..39c6423f9 100644
--- a/Xamarin.Forms.Core/IPlatform.cs
+++ b/Xamarin.Forms.Core/IPlatform.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IPlatform
+ public interface IPlatform
{
SizeRequest GetNativeSize(VisualElement view, double widthConstraint, double heightConstraint);
}
diff --git a/Xamarin.Forms.Core/IPlatformServices.cs b/Xamarin.Forms.Core/IPlatformServices.cs
index 39f007318..89465eb14 100644
--- a/Xamarin.Forms.Core/IPlatformServices.cs
+++ b/Xamarin.Forms.Core/IPlatformServices.cs
@@ -5,9 +5,9 @@ using System.Threading;
using System.Threading.Tasks;
using Xamarin.Forms.Internals;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IPlatformServices
+ public interface IPlatformServices
{
bool IsInvokeRequired { get; }
diff --git a/Xamarin.Forms.Core/IResourceDictionary.cs b/Xamarin.Forms.Core/IResourceDictionary.cs
index 5fccb9d9b..6a145b032 100644
--- a/Xamarin.Forms.Core/IResourceDictionary.cs
+++ b/Xamarin.Forms.Core/IResourceDictionary.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface IResourceDictionary : IEnumerable>
+ public interface IResourceDictionary : IEnumerable>
{
bool TryGetValue(string key, out object value);
diff --git a/Xamarin.Forms.Core/ISystemResourcesProvider.cs b/Xamarin.Forms.Core/ISystemResourcesProvider.cs
index 9f0e57722..77a58415c 100644
--- a/Xamarin.Forms.Core/ISystemResourcesProvider.cs
+++ b/Xamarin.Forms.Core/ISystemResourcesProvider.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal interface ISystemResourcesProvider
+ public interface ISystemResourcesProvider
{
IResourceDictionary GetSystemResources();
}
diff --git a/Xamarin.Forms.Core/IVisualElementController.cs b/Xamarin.Forms.Core/IVisualElementController.cs
index 672f47ded..b1450371e 100644
--- a/Xamarin.Forms.Core/IVisualElementController.cs
+++ b/Xamarin.Forms.Core/IVisualElementController.cs
@@ -1,4 +1,6 @@
+using System;
using Xamarin.Forms.Internals;
+using static Xamarin.Forms.VisualElement;
namespace Xamarin.Forms
{
@@ -6,5 +8,13 @@ namespace Xamarin.Forms
{
void NativeSizeChanged();
void InvalidateMeasure(InvalidationTrigger trigger);
+ bool Batched { get; }
+ bool DisableLayout { get; set; }
+ bool IsInNativeLayout { get; set; }
+ bool IsNativeStateConsistent { get; set; }
+ bool IsPlatformEnabled { get; set; }
+ NavigationProxy NavigationProxy { get; }
+ event EventHandler> BatchCommitted;
+ event EventHandler FocusChangeRequested;
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/IWebViewController.cs b/Xamarin.Forms.Core/IWebViewController.cs
new file mode 100644
index 000000000..3e149fc00
--- /dev/null
+++ b/Xamarin.Forms.Core/IWebViewController.cs
@@ -0,0 +1,16 @@
+using System;
+using Xamarin.Forms.Internals;
+
+namespace Xamarin.Forms
+{
+ public interface IWebViewController : IViewController
+ {
+ bool CanGoBack { get; set; }
+ bool CanGoForward { get; set; }
+ event EventHandler EvalRequested;
+ event EventHandler GoBackRequested;
+ event EventHandler GoForwardRequested;
+ void SendNavigated(WebNavigatedEventArgs args);
+ void SendNavigating(WebNavigatingEventArgs args);
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/ImageSource.cs b/Xamarin.Forms.Core/ImageSource.cs
index 3b59f7fae..588c07bc7 100644
--- a/Xamarin.Forms.Core/ImageSource.cs
+++ b/Xamarin.Forms.Core/ImageSource.cs
@@ -3,6 +3,7 @@ using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Interactivity/Behavior.cs b/Xamarin.Forms.Core/Interactivity/Behavior.cs
index f8689041a..7a126b847 100644
--- a/Xamarin.Forms.Core/Interactivity/Behavior.cs
+++ b/Xamarin.Forms.Core/Interactivity/Behavior.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Interactivity/TriggerBase.cs b/Xamarin.Forms.Core/Interactivity/TriggerBase.cs
index 9418c7ae5..8adb49d1e 100644
--- a/Xamarin.Forms.Core/Interactivity/TriggerBase.cs
+++ b/Xamarin.Forms.Core/Interactivity/TriggerBase.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Internals/EffectUtilities.cs b/Xamarin.Forms.Core/Internals/EffectUtilities.cs
index f4fe83232..4fd1b73d7 100644
--- a/Xamarin.Forms.Core/Internals/EffectUtilities.cs
+++ b/Xamarin.Forms.Core/Internals/EffectUtilities.cs
@@ -1,6 +1,6 @@
namespace Xamarin.Forms.Internals
{
- internal static class EffectUtilities
+ public static class EffectUtilities
{
public static void RegisterEffectControlProvider(IEffectControlProvider self, IElementController oldElement, IElementController newElement)
{
diff --git a/Xamarin.Forms.Core/Internals/Ticker.cs b/Xamarin.Forms.Core/Internals/Ticker.cs
index 7fe60cc0d..9b7c575b3 100644
--- a/Xamarin.Forms.Core/Internals/Ticker.cs
+++ b/Xamarin.Forms.Core/Internals/Ticker.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
@@ -14,7 +15,7 @@ namespace Xamarin.Forms.Internals
int _count;
bool _enabled;
- internal Ticker()
+ protected Ticker()
{
_count = 0;
_timeouts = new List>>();
@@ -22,6 +23,8 @@ namespace Xamarin.Forms.Internals
_stopwatch = new Stopwatch();
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetDefault(Ticker ticker) => Default = ticker;
public static Ticker Default
{
internal set { s_ticker = value; }
diff --git a/Xamarin.Forms.Core/ItemsView.cs b/Xamarin.Forms.Core/ItemsView.cs
index b99fdf03f..33114f3cd 100644
--- a/Xamarin.Forms.Core/ItemsView.cs
+++ b/Xamarin.Forms.Core/ItemsView.cs
@@ -1,4 +1,5 @@
using System.Collections;
+using System.ComponentModel;
using Xamarin.Forms.Internals;
namespace Xamarin.Forms
@@ -49,7 +50,8 @@ namespace Xamarin.Forms
ITemplatedItemsList ITemplatedItemsView.TemplatedItems { get { return TemplatedItems; } }
- internal TemplatedItemsList, TVisual> TemplatedItems { get; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TemplatedItemsList, TVisual> TemplatedItems { get; }
TVisual IItemsView.CreateDefault(object item)
{
diff --git a/Xamarin.Forms.Core/Keyboard.cs b/Xamarin.Forms.Core/Keyboard.cs
index ac07a0b2e..94b2684c3 100644
--- a/Xamarin.Forms.Core/Keyboard.cs
+++ b/Xamarin.Forms.Core/Keyboard.cs
@@ -1,3 +1,5 @@
+using Xamarin.Forms.Internals;
+
namespace Xamarin.Forms
{
[TypeConverter(typeof(KeyboardTypeConverter))]
diff --git a/Xamarin.Forms.Core/KeyboardTypeConverter.cs b/Xamarin.Forms.Core/KeyboardTypeConverter.cs
index 4a93010b7..50074bd6b 100644
--- a/Xamarin.Forms.Core/KeyboardTypeConverter.cs
+++ b/Xamarin.Forms.Core/KeyboardTypeConverter.cs
@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/LayoutOptionsConverter.cs b/Xamarin.Forms.Core/LayoutOptionsConverter.cs
index 6dae0f024..46ef25640 100644
--- a/Xamarin.Forms.Core/LayoutOptionsConverter.cs
+++ b/Xamarin.Forms.Core/LayoutOptionsConverter.cs
@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/ListView.cs b/Xamarin.Forms.Core/ListView.cs
index 8f234cfd3..fd173c73f 100644
--- a/Xamarin.Forms.Core/ListView.cs
+++ b/Xamarin.Forms.Core/ListView.cs
@@ -1,8 +1,10 @@
using System;
using System.Collections;
+using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Windows.Input;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
@@ -210,7 +212,8 @@ namespace Xamarin.Forms
set { SetValue(SeparatorVisibilityProperty, value); }
}
- internal ListViewCachingStrategy CachingStrategy { get; private set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public ListViewCachingStrategy CachingStrategy { get; private set; }
ListViewCachingStrategy IListViewController.CachingStrategy
{
get
diff --git a/Xamarin.Forms.Core/LockableObservableListWrapper.cs b/Xamarin.Forms.Core/LockableObservableListWrapper.cs
new file mode 100644
index 000000000..6bfdb39a5
--- /dev/null
+++ b/Xamarin.Forms.Core/LockableObservableListWrapper.cs
@@ -0,0 +1,131 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Platform;
+
+namespace Xamarin.Forms.Internals
+{
+ public class LockableObservableListWrapper : IList, ICollection, INotifyCollectionChanged, INotifyPropertyChanged, IReadOnlyList, IReadOnlyCollection, IEnumerable, IEnumerable
+ {
+ public readonly ObservableCollection _list = new ObservableCollection();
+
+ event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged
+ {
+ add { ((INotifyCollectionChanged)_list).CollectionChanged += value; }
+ remove { ((INotifyCollectionChanged)_list).CollectionChanged -= value; }
+ }
+
+ event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
+ add { ((INotifyPropertyChanged)_list).PropertyChanged += value; }
+ remove { ((INotifyPropertyChanged)_list).PropertyChanged -= value; }
+ }
+
+ public bool IsLocked { get; set; }
+
+ void ThrowOnLocked()
+ {
+ if (IsLocked)
+ throw new InvalidOperationException("The Items list can not be manipulated if the ItemsSource property is set");
+ }
+
+ public string this [int index] {
+ get { return _list [index]; }
+ set {
+ ThrowOnLocked();
+ _list [index] = value; }
+ }
+
+ public int Count {
+ get { return _list.Count; }
+ }
+
+ public bool IsReadOnly {
+ get { return ((IList)_list).IsReadOnly; }
+ }
+
+ public void InternalAdd(string item)
+ {
+ _list.Add(item);
+ }
+
+ public void Add(string item)
+ {
+ ThrowOnLocked();
+ InternalAdd(item);
+ }
+
+ public void InternalClear()
+ {
+ _list.Clear();
+ }
+
+ public void Clear()
+ {
+ ThrowOnLocked();
+ InternalClear();
+ }
+
+ public bool Contains(string item)
+ {
+ return _list.Contains(item);
+ }
+
+ public void CopyTo(string [] array, int arrayIndex)
+ {
+ _list.CopyTo(array, arrayIndex);
+ }
+
+ public IEnumerator GetEnumerator()
+ {
+ return _list.GetEnumerator();
+ }
+
+ public int IndexOf(string item)
+ {
+ return _list.IndexOf(item);
+ }
+
+ public void InternalInsert(int index, string item)
+ {
+ _list.Insert(index, item);
+ }
+
+ public void Insert(int index, string item)
+ {
+ ThrowOnLocked();
+ InternalInsert(index, item);
+ }
+
+ public bool InternalRemove(string item)
+ {
+ return _list.Remove(item);
+ }
+
+ public bool Remove(string item)
+ {
+ ThrowOnLocked();
+ return InternalRemove(item);
+ }
+
+ public void InternalRemoveAt(int index)
+ {
+ _list.RemoveAt(index);
+ }
+
+ public void RemoveAt(int index)
+ {
+ ThrowOnLocked();
+ InternalRemoveAt(index);
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return ((IEnumerable)_list).GetEnumerator();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/Log.cs b/Xamarin.Forms.Core/Log.cs
index b8053e5dc..2e1c318c9 100644
--- a/Xamarin.Forms.Core/Log.cs
+++ b/Xamarin.Forms.Core/Log.cs
@@ -1,8 +1,8 @@
using System.Collections.Generic;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal static class Log
+ public static class Log
{
static Log()
{
diff --git a/Xamarin.Forms.Core/LogListener.cs b/Xamarin.Forms.Core/LogListener.cs
index 782225650..66777971e 100644
--- a/Xamarin.Forms.Core/LogListener.cs
+++ b/Xamarin.Forms.Core/LogListener.cs
@@ -1,6 +1,6 @@
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal abstract class LogListener
+ public abstract class LogListener
{
public abstract void Warning(string category, string message);
}
diff --git a/Xamarin.Forms.Core/MasterDetailPage.cs b/Xamarin.Forms.Core/MasterDetailPage.cs
index 2ab08e983..4fe1c49de 100644
--- a/Xamarin.Forms.Core/MasterDetailPage.cs
+++ b/Xamarin.Forms.Core/MasterDetailPage.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/MenuItem.cs b/Xamarin.Forms.Core/MenuItem.cs
index 84ad03277..329acab36 100644
--- a/Xamarin.Forms.Core/MenuItem.cs
+++ b/Xamarin.Forms.Core/MenuItem.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using System.Windows.Input;
namespace Xamarin.Forms
@@ -17,7 +18,8 @@ namespace Xamarin.Forms
public static readonly BindableProperty IconProperty = BindableProperty.Create("Icon", typeof(FileImageSource), typeof(MenuItem), default(FileImageSource));
- internal static readonly BindableProperty IsEnabledProperty = BindableProperty.Create("IsEnabled", typeof(bool), typeof(ToolbarItem), true);
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindableProperty IsEnabledProperty = BindableProperty.Create("IsEnabled", typeof(bool), typeof(ToolbarItem), true);
string IMenuItemController.IsEnabledPropertyName
{
@@ -57,20 +59,13 @@ namespace Xamarin.Forms
set { SetValue(TextProperty, value); }
}
- internal bool IsEnabled
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool IsEnabled
{
get { return (bool)GetValue(IsEnabledProperty); }
set { SetValue(IsEnabledProperty, value); }
}
- bool IMenuItemController.IsEnabled
- {
- get
- {
- return IsEnabled;
- }
- }
-
bool IsEnabledCore
{
set { SetValueCore(IsEnabledProperty, value); }
diff --git a/Xamarin.Forms.Core/MultiPage.cs b/Xamarin.Forms.Core/MultiPage.cs
index a738249df..765f779f3 100644
--- a/Xamarin.Forms.Core/MultiPage.cs
+++ b/Xamarin.Forms.Core/MultiPage.cs
@@ -3,13 +3,15 @@ using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
+using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
[ContentProperty("Children")]
- public abstract class MultiPage : Page, IViewContainer, IPageContainer, IItemsView where T : Page
+ public abstract class MultiPage : Page, IViewContainer, IPageContainer, IItemsView, IMultiPageController where T : Page
{
public static readonly BindableProperty ItemsSourceProperty = BindableProperty.Create("ItemsSource", typeof(IEnumerable), typeof(MultiPage<>), null);
@@ -159,7 +161,8 @@ namespace Xamarin.Forms
{
}
- internal static int GetIndex(T page)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static int GetIndex(T page)
{
if (page == null)
throw new ArgumentNullException("page");
@@ -167,7 +170,8 @@ namespace Xamarin.Forms
return (int)page.GetValue(IndexProperty);
}
- internal T GetPageByIndex(int index)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public T GetPageByIndex(int index)
{
foreach (T page in InternalChildren)
{
@@ -177,7 +181,8 @@ namespace Xamarin.Forms
return null;
}
- internal static void SetIndex(Page page, int index)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetIndex(Page page, int index)
{
if (page == null)
throw new ArgumentNullException("page");
diff --git a/Xamarin.Forms.Core/NativeBindingHelpers.cs b/Xamarin.Forms.Core/NativeBindingHelpers.cs
index e4cae7d96..ea577978d 100644
--- a/Xamarin.Forms.Core/NativeBindingHelpers.cs
+++ b/Xamarin.Forms.Core/NativeBindingHelpers.cs
@@ -8,10 +8,11 @@ using Xamarin.Forms.Internals;
using static System.String;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- static class NativeBindingHelpers
+ public static class NativeBindingHelpers
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static void SetBinding(TNativeView target, string targetProperty, BindingBase bindingBase, string updateSourceEventName = null) where TNativeView : class
{
var binding = bindingBase as Binding;
@@ -25,7 +26,8 @@ namespace Xamarin.Forms
SetBinding(target, targetProperty, bindingBase, eventWrapper);
}
- internal static void SetBinding(TNativeView target, string targetProperty, BindingBase bindingBase, INotifyPropertyChanged propertyChanged) where TNativeView : class
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void SetBinding(TNativeView target, string targetProperty, BindingBase bindingBase, INotifyPropertyChanged propertyChanged) where TNativeView : class
{
if (target == null)
throw new ArgumentNullException(nameof(target));
@@ -93,6 +95,7 @@ namespace Xamarin.Forms
bindable.SetValueCore(property, value);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static void SetBinding(TNativeView target, BindableProperty targetProperty, BindingBase binding) where TNativeView : class
{
if (target == null)
@@ -106,6 +109,7 @@ namespace Xamarin.Forms
proxy.BindingsBackpack.Add(new KeyValuePair(targetProperty, binding));
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static void SetValue(TNativeView target, BindableProperty targetProperty, object value) where TNativeView : class
{
if (target == null)
@@ -117,6 +121,7 @@ namespace Xamarin.Forms
proxy.ValuesBackpack.Add(new KeyValuePair(targetProperty, value));
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static void SetBindingContext(TNativeView target, object bindingContext, Func> getChild = null) where TNativeView : class
{
if (target == null)
@@ -134,7 +139,8 @@ namespace Xamarin.Forms
SetBindingContext(child, bindingContext, getChild);
}
- internal static void TransferBindablePropertiesToWrapper(TNativeView nativeView, TNativeWrapper wrapper)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void TransferBindablePropertiesToWrapper(TNativeView nativeView, TNativeWrapper wrapper)
where TNativeView : class
where TNativeWrapper : View
{
diff --git a/Xamarin.Forms.Core/NavigationMenu.cs b/Xamarin.Forms.Core/NavigationMenu.cs
index 2283bd515..3e9724fdf 100644
--- a/Xamarin.Forms.Core/NavigationMenu.cs
+++ b/Xamarin.Forms.Core/NavigationMenu.cs
@@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Linq;
using Xamarin.Forms.Platform;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
// Mark as internal until renderers are ready for release after 1.0
[RenderWith(typeof(_NavigationMenuRenderer))]
- internal class NavigationMenu : View, IElementConfiguration
+ public class NavigationMenu : View, INavigationMenuController, IElementConfiguration
{
readonly List _targets = new List();
@@ -64,12 +64,7 @@ namespace Xamarin.Forms
return _platformConfigurationRegistry.Value.On();
}
- internal void SendTargetSelected(Page target)
- {
- TargetSelected(target);
- }
-
- void TargetSelected(Page target)
+ void INavigationMenuController.SendTargetSelected(Page target)
{
Navigation.PushAsync(target);
}
diff --git a/Xamarin.Forms.Core/NavigationModel.cs b/Xamarin.Forms.Core/NavigationModel.cs
index 4591d4a44..a3dab61e4 100644
--- a/Xamarin.Forms.Core/NavigationModel.cs
+++ b/Xamarin.Forms.Core/NavigationModel.cs
@@ -2,9 +2,9 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class NavigationModel
+ public class NavigationModel
{
readonly List _modalStack = new List();
readonly List> _navTree = new List>();
diff --git a/Xamarin.Forms.Core/NavigationProxy.cs b/Xamarin.Forms.Core/NavigationProxy.cs
index 65e2fee98..0b686c075 100644
--- a/Xamarin.Forms.Core/NavigationProxy.cs
+++ b/Xamarin.Forms.Core/NavigationProxy.cs
@@ -1,17 +1,19 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class NavigationProxy : INavigation
+ public class NavigationProxy : INavigation
{
INavigation _inner;
Lazy> _modalStack = new Lazy>(() => new List());
Lazy> _pushStack = new Lazy>(() => new List());
+ [EditorBrowsable(EditorBrowsableState.Never)]
public INavigation Inner
{
get { return _inner; }
@@ -52,56 +54,67 @@ namespace Xamarin.Forms
}
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void InsertPageBefore(Page page, Page before)
{
OnInsertPageBefore(page, before);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public IReadOnlyList ModalStack
{
get { return GetModalStack(); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public IReadOnlyList NavigationStack
{
get { return GetNavigationStack(); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopAsync()
{
return OnPopAsync(true);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopAsync(bool animated)
{
return OnPopAsync(animated);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopModalAsync()
{
return OnPopModal(true);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopModalAsync(bool animated)
{
return OnPopModal(animated);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopToRootAsync()
{
return OnPopToRootAsync(true);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PopToRootAsync(bool animated)
{
return OnPopToRootAsync(animated);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PushAsync(Page root)
{
return PushAsync(root, true);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PushAsync(Page root, bool animated)
{
if (root.RealParent != null)
@@ -109,11 +122,13 @@ namespace Xamarin.Forms
return OnPushAsync(root, animated);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PushModalAsync(Page modal)
{
return PushModalAsync(modal, true);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Task PushModalAsync(Page modal, bool animated)
{
if (modal.RealParent != null)
@@ -121,6 +136,7 @@ namespace Xamarin.Forms
return OnPushModal(modal, animated);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void RemovePage(Page page)
{
OnRemovePage(page);
diff --git a/Xamarin.Forms.Core/NumericExtensions.cs b/Xamarin.Forms.Core/NumericExtensions.cs
index 6333c3607..fb7c78ae6 100644
--- a/Xamarin.Forms.Core/NumericExtensions.cs
+++ b/Xamarin.Forms.Core/NumericExtensions.cs
@@ -1,14 +1,18 @@
using System;
+using System.ComponentModel;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal static class NumericExtensions
+ public static class NumericExtensions
{
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static double Clamp(this double self, double min, double max)
{
return Math.Min(max, Math.Max(self, min));
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static int Clamp(this int self, int min, int max)
{
return Math.Min(max, Math.Max(self, min));
diff --git a/Xamarin.Forms.Core/OrderedDictionary.cs b/Xamarin.Forms.Core/OrderedDictionary.cs
index 028979c5b..6e063b634 100644
--- a/Xamarin.Forms.Core/OrderedDictionary.cs
+++ b/Xamarin.Forms.Core/OrderedDictionary.cs
@@ -31,6 +31,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Xamarin.Forms;
+using Xamarin.Forms.Internals;
namespace Cadenza.Collections
{
diff --git a/Xamarin.Forms.Core/PanGestureRecognizer.cs b/Xamarin.Forms.Core/PanGestureRecognizer.cs
index 3fbf2f62b..0a3a3fa5e 100644
--- a/Xamarin.Forms.Core/PanGestureRecognizer.cs
+++ b/Xamarin.Forms.Core/PanGestureRecognizer.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/Performance.cs b/Xamarin.Forms.Core/Performance.cs
index e627817b5..2497b082c 100644
--- a/Xamarin.Forms.Core/Performance.cs
+++ b/Xamarin.Forms.Core/Performance.cs
@@ -1,22 +1,25 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal static class Performance
+ public static class Performance
{
static readonly Dictionary Statistics = new Dictionary();
+ [EditorBrowsable(EditorBrowsableState.Never)]
[Conditional("PERF")]
public static void Clear()
{
Statistics.Clear();
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static void Count(string tag = null, [CallerFilePath] string path = null, [CallerMemberName] string member = null)
{
string id = path + ":" + member + (tag != null ? "-" + tag : string.Empty);
@@ -28,12 +31,14 @@ namespace Xamarin.Forms
stats.CallCount++;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
[Conditional("PERF")]
public static void DumpStats()
{
Debug.WriteLine(GetStats());
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static string GetStats()
{
var b = new StringBuilder();
@@ -49,6 +54,7 @@ namespace Xamarin.Forms
return b.ToString();
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
[Conditional("PERF")]
public static void Start(string tag = null, [CallerFilePath] string path = null, [CallerMemberName] string member = null)
{
@@ -62,6 +68,7 @@ namespace Xamarin.Forms
stats.StartTimes.Push(Stopwatch.GetTimestamp());
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
[Conditional("PERF")]
public static void Stop(string tag = null, [CallerFilePath] string path = null, [CallerMemberName] string member = null)
{
diff --git a/Xamarin.Forms.Core/Picker.cs b/Xamarin.Forms.Core/Picker.cs
index 0d85ea5c9..2d706c620 100644
--- a/Xamarin.Forms.Core/Picker.cs
+++ b/Xamarin.Forms.Core/Picker.cs
@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Runtime.CompilerServices;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
@@ -222,124 +223,5 @@ namespace Xamarin.Forms
void ITextElement.OnTextColorPropertyChanged(Color oldValue, Color newValue)
{
}
-
- internal class LockableObservableListWrapper : IList, ICollection, INotifyCollectionChanged, INotifyPropertyChanged, IReadOnlyList, IReadOnlyCollection, IEnumerable, IEnumerable
- {
- internal readonly ObservableCollection _list = new ObservableCollection();
-
- event NotifyCollectionChangedEventHandler INotifyCollectionChanged.CollectionChanged
- {
- add { ((INotifyCollectionChanged)_list).CollectionChanged += value; }
- remove { ((INotifyCollectionChanged)_list).CollectionChanged -= value; }
- }
-
- event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged {
- add { ((INotifyPropertyChanged)_list).PropertyChanged += value; }
- remove { ((INotifyPropertyChanged)_list).PropertyChanged -= value; }
- }
-
- public bool IsLocked { get; set; }
-
- void ThrowOnLocked()
- {
- if (IsLocked)
- throw new InvalidOperationException("The Items list can not be manipulated if the ItemsSource property is set");
- }
-
- public string this [int index] {
- get { return _list [index]; }
- set {
- ThrowOnLocked();
- _list [index] = value; }
- }
-
- public int Count {
- get { return _list.Count; }
- }
-
- public bool IsReadOnly {
- get { return ((IList)_list).IsReadOnly; }
- }
-
- public void InternalAdd(string item)
- {
- _list.Add(item);
- }
-
- public void Add(string item)
- {
- ThrowOnLocked();
- InternalAdd(item);
- }
-
- public void InternalClear()
- {
- _list.Clear();
- }
-
- public void Clear()
- {
- ThrowOnLocked();
- InternalClear();
- }
-
- public bool Contains(string item)
- {
- return _list.Contains(item);
- }
-
- public void CopyTo(string [] array, int arrayIndex)
- {
- _list.CopyTo(array, arrayIndex);
- }
-
- public IEnumerator GetEnumerator()
- {
- return _list.GetEnumerator();
- }
-
- public int IndexOf(string item)
- {
- return _list.IndexOf(item);
- }
-
- public void InternalInsert(int index, string item)
- {
- _list.Insert(index, item);
- }
-
- public void Insert(int index, string item)
- {
- ThrowOnLocked();
- InternalInsert(index, item);
- }
-
- public bool InternalRemove(string item)
- {
- return _list.Remove(item);
- }
-
- public bool Remove(string item)
- {
- ThrowOnLocked();
- return InternalRemove(item);
- }
-
- public void InternalRemoveAt(int index)
- {
- _list.RemoveAt(index);
- }
-
- public void RemoveAt(int index)
- {
- ThrowOnLocked();
- InternalRemoveAt(index);
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return ((IEnumerable)_list).GetEnumerator();
- }
- }
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/PinchGestureRecognizer.cs b/Xamarin.Forms.Core/PinchGestureRecognizer.cs
index aef07fbb4..30a8d232f 100644
--- a/Xamarin.Forms.Core/PinchGestureRecognizer.cs
+++ b/Xamarin.Forms.Core/PinchGestureRecognizer.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/PlatformEffect.cs b/Xamarin.Forms.Core/PlatformEffect.cs
index e92231ceb..217510f47 100644
--- a/Xamarin.Forms.Core/PlatformEffect.cs
+++ b/Xamarin.Forms.Core/PlatformEffect.cs
@@ -6,8 +6,14 @@ namespace Xamarin.Forms
{
public TContainer Container { get; internal set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SetContainer(TContainer container) => Container = container;
+
public TControl Control { get; internal set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SetControl(TControl control) => Control = control;
+
protected virtual void OnElementPropertyChanged(PropertyChangedEventArgs args)
{
}
diff --git a/Xamarin.Forms.Core/ProgressBar.cs b/Xamarin.Forms.Core/ProgressBar.cs
index 323cc514c..ffeb5ab28 100644
--- a/Xamarin.Forms.Core/ProgressBar.cs
+++ b/Xamarin.Forms.Core/ProgressBar.cs
@@ -1,5 +1,6 @@
using System;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Properties/AssemblyInfo.cs b/Xamarin.Forms.Core/Properties/AssemblyInfo.cs
index 96366bbe1..429aca999 100644
--- a/Xamarin.Forms.Core/Properties/AssemblyInfo.cs
+++ b/Xamarin.Forms.Core/Properties/AssemblyInfo.cs
@@ -20,15 +20,15 @@ using Xamarin.Forms.Internals;
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.iOS")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.iOS.Classic")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.Android")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.UAP")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT.Tablet")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT.Phone")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WP8")]
-[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.macOS")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.iOS")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.iOS.Classic")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.Android")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.UAP")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT.Tablet")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WinRT.Phone")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.WP8")]
+//[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.macOS")]
[assembly: InternalsVisibleTo("iOSUnitTests")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Controls")]
[assembly: InternalsVisibleTo("Xamarin.Forms.Core.Design")]
diff --git a/Xamarin.Forms.Core/ReadOnlyListAdapter.cs b/Xamarin.Forms.Core/ReadOnlyListAdapter.cs
index 0ffdaef53..707acbaa4 100644
--- a/Xamarin.Forms.Core/ReadOnlyListAdapter.cs
+++ b/Xamarin.Forms.Core/ReadOnlyListAdapter.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/ReflectionExtensions.cs b/Xamarin.Forms.Core/ReflectionExtensions.cs
index 95fd18cad..7a8b98b03 100644
--- a/Xamarin.Forms.Core/ReflectionExtensions.cs
+++ b/Xamarin.Forms.Core/ReflectionExtensions.cs
@@ -1,32 +1,38 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
using System.Reflection;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal static class ReflectionExtensions
+ public static class ReflectionExtensions
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static FieldInfo GetField(this Type type, Func predicate)
{
return GetFields(type).FirstOrDefault(predicate);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static FieldInfo GetField(this Type type, string name)
{
return type.GetField(fi => fi.Name == name);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static IEnumerable GetFields(this Type type)
{
return GetParts(type, i => i.DeclaredFields);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static IEnumerable GetProperties(this Type type)
{
return GetParts(type, ti => ti.DeclaredProperties);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static PropertyInfo GetProperty(this Type type, string name)
{
Type t = type;
@@ -43,11 +49,13 @@ namespace Xamarin.Forms
return null;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static bool IsAssignableFrom(this Type self, Type c)
{
return self.GetTypeInfo().IsAssignableFrom(c.GetTypeInfo());
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static bool IsInstanceOfType(this Type self, object o)
{
return self.GetTypeInfo().IsAssignableFrom(o.GetType().GetTypeInfo());
diff --git a/Xamarin.Forms.Core/Registrar.cs b/Xamarin.Forms.Core/Registrar.cs
index 0b13a6116..617066af2 100644
--- a/Xamarin.Forms.Core/Registrar.cs
+++ b/Xamarin.Forms.Core/Registrar.cs
@@ -1,11 +1,13 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
using System.Reflection;
-namespace Xamarin.Forms
+
+namespace Xamarin.Forms.Internals
{
- internal class Registrar where TRegistrable : class
+ public class Registrar where TRegistrable : class
{
readonly Dictionary _handlers = new Dictionary();
@@ -24,15 +26,17 @@ namespace Xamarin.Forms
return (TRegistrable)handler;
}
- internal TOut GetHandler(Type type) where TOut : TRegistrable
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TOut GetHandler(Type type) where TOut : TRegistrable
{
return (TOut)GetHandler(type);
}
- internal Type GetHandlerType(Type viewType)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Type GetHandlerType(Type viewType)
{
Type type;
- if(LookupHandlerType(viewType, out type))
+ if (LookupHandlerType(viewType, out type))
return type;
// lazy load render-view association with RenderWithAttribute (as opposed to using ExportRenderer)
@@ -84,7 +88,7 @@ namespace Xamarin.Forms
}
}
- internal static class Registrar
+ public static class Registrar
{
static Registrar()
{
@@ -93,11 +97,14 @@ namespace Xamarin.Forms
internal static Dictionary Effects { get; } = new Dictionary();
- internal static IEnumerable ExtraAssemblies { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IEnumerable ExtraAssemblies { get; set; }
- internal static Registrar Registered { get; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static Registrar Registered { get; }
- internal static void RegisterAll(Type[] attrTypes)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void RegisterAll(Type[] attrTypes)
{
Assembly[] assemblies = Device.GetAssemblies();
if (ExtraAssemblies != null)
diff --git a/Xamarin.Forms.Core/RelativeLayout.cs b/Xamarin.Forms.Core/RelativeLayout.cs
index 2b835013f..85c64d0c8 100644
--- a/Xamarin.Forms.Core/RelativeLayout.cs
+++ b/Xamarin.Forms.Core/RelativeLayout.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Linq.Expressions;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/ResourceDictionary.cs b/Xamarin.Forms.Core/ResourceDictionary.cs
index a213dee5e..c9413eb3e 100644
--- a/Xamarin.Forms.Core/ResourceDictionary.cs
+++ b/Xamarin.Forms.Core/ResourceDictionary.cs
@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/ResourcesChangedEventArgs.cs b/Xamarin.Forms.Core/ResourcesChangedEventArgs.cs
index 2bab85657..95056c36d 100644
--- a/Xamarin.Forms.Core/ResourcesChangedEventArgs.cs
+++ b/Xamarin.Forms.Core/ResourcesChangedEventArgs.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal class ResourcesChangedEventArgs : EventArgs
+ public class ResourcesChangedEventArgs : EventArgs
{
public ResourcesChangedEventArgs(IEnumerable> values)
{
diff --git a/Xamarin.Forms.Core/ScrollView.cs b/Xamarin.Forms.Core/ScrollView.cs
index 2c1f070d1..711c2ce73 100644
--- a/Xamarin.Forms.Core/ScrollView.cs
+++ b/Xamarin.Forms.Core/ScrollView.cs
@@ -1,5 +1,6 @@
using System;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/SearchBar.cs b/Xamarin.Forms.Core/SearchBar.cs
index 614671b15..3d83686cc 100644
--- a/Xamarin.Forms.Core/SearchBar.cs
+++ b/Xamarin.Forms.Core/SearchBar.cs
@@ -1,5 +1,6 @@
using System;
using System.Windows.Input;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Slider.cs b/Xamarin.Forms.Core/Slider.cs
index 5f5f53178..3f3961fb5 100644
--- a/Xamarin.Forms.Core/Slider.cs
+++ b/Xamarin.Forms.Core/Slider.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Span.cs b/Xamarin.Forms.Core/Span.cs
index 06c421283..906055950 100644
--- a/Xamarin.Forms.Core/Span.cs
+++ b/Xamarin.Forms.Core/Span.cs
@@ -1,6 +1,7 @@
using System;
using System.ComponentModel;
using System.Runtime.CompilerServices;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/StackLayout.cs b/Xamarin.Forms.Core/StackLayout.cs
index aa807979a..9f1d6c5ba 100644
--- a/Xamarin.Forms.Core/StackLayout.cs
+++ b/Xamarin.Forms.Core/StackLayout.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using Xamarin.Forms.Internals;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Stepper.cs b/Xamarin.Forms.Core/Stepper.cs
index f9742ccc1..67f4b8eb5 100644
--- a/Xamarin.Forms.Core/Stepper.cs
+++ b/Xamarin.Forms.Core/Stepper.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
diff --git a/Xamarin.Forms.Core/Style.cs b/Xamarin.Forms.Core/Style.cs
index 8d27f0100..52b4d3830 100644
--- a/Xamarin.Forms.Core/Style.cs
+++ b/Xamarin.Forms.Core/Style.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Reflection;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/TableModel.cs b/Xamarin.Forms.Core/TableModel.cs
index e570b22b9..db33000f8 100644
--- a/Xamarin.Forms.Core/TableModel.cs
+++ b/Xamarin.Forms.Core/TableModel.cs
@@ -1,9 +1,12 @@
using System;
+using System.ComponentModel;
+using Xamarin.Forms.Internals;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal abstract class TableModel: ITableModel
+ public abstract class TableModel: ITableModel
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public virtual Cell GetCell(int section, int row)
{
object item = GetItem(section, row);
@@ -14,36 +17,46 @@ namespace Xamarin.Forms
return new TextCell { Text = item.ToString() };
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public virtual Cell GetHeaderCell(int section)
{
return null;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public abstract object GetItem(int section, int row);
+ [EditorBrowsable(EditorBrowsableState.Never)]
public abstract int GetRowCount(int section);
+ [EditorBrowsable(EditorBrowsableState.Never)]
public abstract int GetSectionCount();
+ [EditorBrowsable(EditorBrowsableState.Never)]
public virtual string[] GetSectionIndexTitles()
{
return null;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public virtual string GetSectionTitle(int section)
{
return null;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public event EventHandler> ItemLongPressed;
+ [EditorBrowsable(EditorBrowsableState.Never)]
public event EventHandler> ItemSelected;
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void RowLongPressed(int section, int row)
{
RowLongPressed(GetItem(section, row));
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void RowLongPressed(object item)
{
if (ItemLongPressed != null)
@@ -52,11 +65,13 @@ namespace Xamarin.Forms
OnRowLongPressed(item);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void RowSelected(int section, int row)
{
RowSelected(GetItem(section, row));
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public void RowSelected(object item)
{
if (ItemSelected != null)
diff --git a/Xamarin.Forms.Core/TableSection.cs b/Xamarin.Forms.Core/TableSection.cs
index 9ae7caf5a..b3d1b2a57 100644
--- a/Xamarin.Forms.Core/TableSection.cs
+++ b/Xamarin.Forms.Core/TableSection.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
diff --git a/Xamarin.Forms.Core/TableView.cs b/Xamarin.Forms.Core/TableView.cs
index b6c668002..d0b925a93 100644
--- a/Xamarin.Forms.Core/TableView.cs
+++ b/Xamarin.Forms.Core/TableView.cs
@@ -80,7 +80,8 @@ namespace Xamarin.Forms
set { SetValue(RowHeightProperty, value); }
}
- internal TableModel Model
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TableModel Model
{
get { return _model; }
set
diff --git a/Xamarin.Forms.Core/TapGestureRecognizer.cs b/Xamarin.Forms.Core/TapGestureRecognizer.cs
index 8449f1056..c5216d657 100644
--- a/Xamarin.Forms.Core/TapGestureRecognizer.cs
+++ b/Xamarin.Forms.Core/TapGestureRecognizer.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using System.Windows.Input;
namespace Xamarin.Forms
@@ -35,7 +36,8 @@ namespace Xamarin.Forms
public event EventHandler Tapped;
- internal void SendTapped(View sender)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SendTapped(View sender)
{
ICommand cmd = Command;
if (cmd != null && cmd.CanExecute(CommandParameter))
diff --git a/Xamarin.Forms.Core/TemplatedItemsList.cs b/Xamarin.Forms.Core/TemplatedItemsList.cs
index a954939db..e132d045f 100644
--- a/Xamarin.Forms.Core/TemplatedItemsList.cs
+++ b/Xamarin.Forms.Core/TemplatedItemsList.cs
@@ -8,15 +8,17 @@ using System.Threading.Tasks;
using Cadenza.Collections;
using Xamarin.Forms.Internals;
-namespace Xamarin.Forms
+namespace Xamarin.Forms.Internals
{
- internal sealed class TemplatedItemsList : BindableObject, ITemplatedItemsList, IList, IDisposable
+ public sealed class TemplatedItemsList : BindableObject, ITemplatedItemsList, IList, IDisposable
where TView : BindableObject, IItemsView
where TItem : BindableObject
{
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static readonly BindableProperty NameProperty = BindableProperty.Create("Name", typeof(string), typeof(TemplatedItemsList), null);
+ [EditorBrowsable(EditorBrowsableState.Never)]
public static readonly BindableProperty ShortNameProperty = BindableProperty.Create("ShortName", typeof(string), typeof(TemplatedItemsList), null);
static readonly BindablePropertyKey HeaderContentPropertyKey = BindableProperty.CreateReadOnly("HeaderContent", typeof(TItem), typeof(TemplatedItemsList), null);
@@ -94,6 +96,7 @@ namespace Xamarin.Forms
remove { PropertyChanged -= value; }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public BindingBase GroupDisplayBinding
{
get { return _groupDisplayBinding; }
@@ -104,6 +107,7 @@ namespace Xamarin.Forms
}
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public DataTemplate GroupHeaderTemplate
{
get
@@ -125,8 +129,10 @@ namespace Xamarin.Forms
}
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public BindableProperty GroupHeaderTemplateProperty { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
public BindingBase GroupShortNameBinding
{
get { return _groupShortNameBinding; }
@@ -137,40 +143,49 @@ namespace Xamarin.Forms
}
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public TItem HeaderContent
{
get { return (TItem)GetValue(HeaderContentPropertyKey.BindableProperty); }
private set { SetValue(HeaderContentPropertyKey, value); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public bool IsGroupingEnabled
{
get { return (IsGroupingEnabledProperty != null) && (bool)_itemsView.GetValue(IsGroupingEnabledProperty); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public BindableProperty IsGroupingEnabledProperty { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
public IEnumerable ItemsSource
{
get { return ListProxy.ProxiedEnumerable; }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public TemplatedItemsList Parent { get; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
public BindableProperty ProgressiveLoadingProperty { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
public string ShortName
{
get { return (string)GetValue(ShortNameProperty); }
set { SetValue(ShortNameProperty, value); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public IReadOnlyList ShortNames
{
get { return _shortNames; }
@@ -324,18 +339,22 @@ namespace Xamarin.Forms
throw new NotSupportedException();
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public event NotifyCollectionChangedEventHandler CollectionChanged;
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int Count
{
get { return ListProxy.Count; }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public TItem this[int index]
{
get { return GetOrCreateContent(index, ListProxy[index]); }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetDescendantCount()
{
if (!IsGroupingEnabled)
@@ -351,6 +370,7 @@ namespace Xamarin.Forms
return count;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetGlobalIndexForGroup(ITemplatedItemsList group)
{
if (group == null)
@@ -365,6 +385,7 @@ namespace Xamarin.Forms
return index;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetGlobalIndexOfGroup(object item)
{
var count = 0;
@@ -381,6 +402,7 @@ namespace Xamarin.Forms
return -1;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetGlobalIndexOfItem(object item)
{
if (!IsGroupingEnabled)
@@ -404,6 +426,7 @@ namespace Xamarin.Forms
return -1;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetGlobalIndexOfItem(object group, object item)
{
if (!IsGroupingEnabled)
@@ -430,6 +453,7 @@ namespace Xamarin.Forms
return -1;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Tuple GetGroupAndIndexOfItem(object item)
{
if (item == null)
@@ -453,6 +477,7 @@ namespace Xamarin.Forms
return new Tuple(-1, -1);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public Tuple GetGroupAndIndexOfItem(object group, object item)
{
if (!IsGroupingEnabled)
@@ -481,6 +506,7 @@ namespace Xamarin.Forms
return new Tuple(-1, -1);
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int GetGroupIndexFromGlobal(int globalIndex, out int leftOver)
{
leftOver = 0;
@@ -506,6 +532,7 @@ namespace Xamarin.Forms
return -1;
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public event NotifyCollectionChangedEventHandler GroupedCollectionChanged;
event NotifyCollectionChangedEventHandler ITemplatedItemsList.GroupedCollectionChanged
{
@@ -513,6 +540,7 @@ namespace Xamarin.Forms
remove { GroupedCollectionChanged -= value; }
}
+ [EditorBrowsable(EditorBrowsableState.Never)]
public int IndexOf(TItem item)
{
TemplatedItemsList group = GetGroup(item);
@@ -522,7 +550,8 @@ namespace Xamarin.Forms
return GetIndex(item);
}
- internal TItem CreateContent(int index, object item, bool insert = false)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TItem CreateContent(int index, object item, bool insert = false)
{
TItem content = ItemTemplate != null ? (TItem)ItemTemplate.CreateContent(item, _itemsView) : _itemsView.CreateDefault(item);
diff --git a/Xamarin.Forms.Core/TypedBinding.cs b/Xamarin.Forms.Core/TypedBinding.cs
index c98b39df7..27adf95f3 100644
--- a/Xamarin.Forms.Core/TypedBinding.cs
+++ b/Xamarin.Forms.Core/TypedBinding.cs
@@ -4,6 +4,7 @@ using System;
using System.ComponentModel;
using System.Globalization;
using System.Collections.Generic;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Internals
{
@@ -200,7 +201,7 @@ namespace Xamarin.Forms.Internals
Log.Warning("Binding", "{0} can not be converted to type '{1}'", value, property.ReturnType);
return;
}
- target.SetValueCore(property, value, BindableObject.SetValueFlags.ClearDynamicResource, BindableObject.SetValuePrivateFlags.Default | BindableObject.SetValuePrivateFlags.Converted);
+ target.SetValueCore(property, value, SetValueFlags.ClearDynamicResource, BindableObject.SetValuePrivateFlags.Default | BindableObject.SetValuePrivateFlags.Converted);
return;
}
diff --git a/Xamarin.Forms.Core/UriImageSource.cs b/Xamarin.Forms.Core/UriImageSource.cs
index 805511603..7d1a9eb24 100644
--- a/Xamarin.Forms.Core/UriImageSource.cs
+++ b/Xamarin.Forms.Core/UriImageSource.cs
@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms
{
@@ -64,7 +66,8 @@ namespace Xamarin.Forms
set { SetValue(UriProperty, value); }
}
- internal async Task GetStreamAsync(CancellationToken userToken = default(CancellationToken))
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public async Task GetStreamAsync(CancellationToken userToken = default(CancellationToken))
{
OnLoadingStarted();
userToken.Register(CancellationTokenSource.Cancel);
diff --git a/Xamarin.Forms.Core/UrlWebViewSource.cs b/Xamarin.Forms.Core/UrlWebViewSource.cs
index 12a0e4086..c7932a8c1 100644
--- a/Xamarin.Forms.Core/UrlWebViewSource.cs
+++ b/Xamarin.Forms.Core/UrlWebViewSource.cs
@@ -1,3 +1,5 @@
+using System.ComponentModel;
+
namespace Xamarin.Forms
{
public class UrlWebViewSource : WebViewSource
@@ -11,7 +13,8 @@ namespace Xamarin.Forms
set { SetValue(UrlProperty, value); }
}
- internal override void Load(IWebViewDelegate renderer)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override void Load(IWebViewDelegate renderer)
{
renderer.LoadUrl(Url);
}
diff --git a/Xamarin.Forms.Core/VisualElement.cs b/Xamarin.Forms.Core/VisualElement.cs
index 352e25493..476a05708 100644
--- a/Xamarin.Forms.Core/VisualElement.cs
+++ b/Xamarin.Forms.Core/VisualElement.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using Xamarin.Forms.Internals;
namespace Xamarin.Forms
@@ -86,7 +87,8 @@ namespace Xamarin.Forms
public static readonly BindableProperty MinimumHeightRequestProperty = BindableProperty.Create("MinimumHeightRequest", typeof(double), typeof(VisualElement), -1d, propertyChanged: OnRequestChanged);
- internal static readonly BindablePropertyKey IsFocusedPropertyKey = BindableProperty.CreateReadOnly("IsFocused", typeof(bool), typeof(VisualElement), default(bool),
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static readonly BindablePropertyKey IsFocusedPropertyKey = BindableProperty.CreateReadOnly("IsFocused", typeof(bool), typeof(VisualElement), default(bool),
propertyChanged: OnIsFocusedPropertyChanged);
public static readonly BindableProperty IsFocusedProperty = IsFocusedPropertyKey.BindableProperty;
@@ -296,7 +298,8 @@ namespace Xamarin.Forms
private set { SetValue(YPropertyKey, value); }
}
- internal bool Batched
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool Batched
{
get { return _batched > 0; }
}
@@ -322,9 +325,11 @@ namespace Xamarin.Forms
get { return ComputedConstraint | SelfConstraint; }
}
- internal bool DisableLayout { get; set; }
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool DisableLayout { get; set; }
- internal bool IsInNativeLayout
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool IsInNativeLayout
{
get
{
@@ -345,7 +350,8 @@ namespace Xamarin.Forms
set { _isInNativeLayout = value; }
}
- internal bool IsNativeStateConsistent
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool IsNativeStateConsistent
{
get { return _isNativeStateConsistent; }
set
@@ -358,7 +364,8 @@ namespace Xamarin.Forms
}
}
- internal bool IsPlatformEnabled
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool IsPlatformEnabled
{
get { return _isPlatformEnabled; }
set
@@ -374,7 +381,8 @@ namespace Xamarin.Forms
}
}
- internal NavigationProxy NavigationProxy
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public NavigationProxy NavigationProxy
{
get { return Navigation as NavigationProxy; }
}
@@ -629,7 +637,8 @@ namespace Xamarin.Forms
OnSizeAllocated(width, height);
}
- internal event EventHandler> BatchCommitted;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler> BatchCommitted;
internal void ComputeConstrainsForChildren()
{
@@ -646,8 +655,14 @@ namespace Xamarin.Forms
view.ComputedConstraint = LayoutConstraint.None;
}
- internal event EventHandler FocusChangeRequested;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler FocusChangeRequested;
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void InvalidateMeasureNonVirtual(InvalidationTrigger trigger)
+ {
+ InvalidateMeasureInternal(trigger);
+ }
internal virtual void InvalidateMeasureInternal(InvalidationTrigger trigger)
{
_measureCache.Clear();
@@ -775,7 +790,7 @@ namespace Xamarin.Forms
SizeChanged(this, EventArgs.Empty);
}
- internal class FocusRequestArgs : EventArgs
+ public class FocusRequestArgs : EventArgs
{
public bool Focus { get; set; }
diff --git a/Xamarin.Forms.Core/WebView.cs b/Xamarin.Forms.Core/WebView.cs
index b366bb4be..bba843060 100644
--- a/Xamarin.Forms.Core/WebView.cs
+++ b/Xamarin.Forms.Core/WebView.cs
@@ -5,7 +5,7 @@ using Xamarin.Forms.Platform;
namespace Xamarin.Forms
{
[RenderWith(typeof(_WebViewRenderer))]
- public class WebView : View, IElementConfiguration
+ public class WebView : View, IWebViewController, IElementConfiguration
{
public static readonly BindableProperty SourceProperty = BindableProperty.Create("Source", typeof(WebViewSource), typeof(WebView), default(WebViewSource),
propertyChanging: (bindable, oldvalue, newvalue) =>
@@ -39,16 +39,24 @@ namespace Xamarin.Forms
_platformConfigurationRegistry = new Lazy>(() => new PlatformConfigurationRegistry(this));
}
+ bool IWebViewController.CanGoBack {
+ get { return CanGoBack; }
+ set { SetValue(CanGoBackPropertyKey, value); }
+ }
+
public bool CanGoBack
{
get { return (bool)GetValue(CanGoBackProperty); }
- internal set { SetValue(CanGoBackPropertyKey, value); }
+ }
+
+ bool IWebViewController.CanGoForward {
+ get { return CanGoForward; }
+ set { SetValue(CanGoForwardPropertyKey, value); }
}
public bool CanGoForward
{
get { return (bool)GetValue(CanGoForwardProperty); }
- internal set { SetValue(CanGoForwardPropertyKey, value); }
}
[TypeConverter(typeof(WebViewSourceTypeConverter))]
@@ -110,24 +118,35 @@ namespace Xamarin.Forms
OnPropertyChanged(SourceProperty.PropertyName);
}
- internal event EventHandler EvalRequested;
-
- internal event EventHandler GoBackRequested;
-
- internal event EventHandler GoForwardRequested;
-
- internal void SendNavigated(WebNavigatedEventArgs args)
- {
- EventHandler handler = Navigated;
- if (handler != null)
- handler(this, args);
+ event EventHandler IWebViewController.EvalRequested {
+ add { EvalRequested += value; }
+ remove { EvalRequested -= value; }
}
- internal void SendNavigating(WebNavigatingEventArgs args)
+ event EventHandler EvalRequested;
+
+ event EventHandler IWebViewController.GoBackRequested {
+ add { GoBackRequested += value; }
+ remove { GoBackRequested -= value; }
+ }
+
+ event EventHandler GoBackRequested;
+
+ event EventHandler IWebViewController.GoForwardRequested {
+ add { GoForwardRequested += value; }
+ remove { GoForwardRequested -= value; }
+ }
+
+ event EventHandler GoForwardRequested;
+
+ void IWebViewController.SendNavigated(WebNavigatedEventArgs args)
{
- EventHandler handler = Navigating;
- if (handler != null)
- handler(this, args);
+ Navigated?.Invoke(this, args);
+ }
+
+ void IWebViewController.SendNavigating(WebNavigatingEventArgs args)
+ {
+ Navigating?.Invoke(this, args);
}
public IPlatformElementConfiguration On() where T : IConfigPlatform
diff --git a/Xamarin.Forms.Core/WebViewSource.cs b/Xamarin.Forms.Core/WebViewSource.cs
index 7b4c1bf7e..1e89bf723 100644
--- a/Xamarin.Forms.Core/WebViewSource.cs
+++ b/Xamarin.Forms.Core/WebViewSource.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
namespace Xamarin.Forms
{
@@ -21,7 +22,8 @@ namespace Xamarin.Forms
eh(this, EventArgs.Empty);
}
- internal abstract void Load(IWebViewDelegate renderer);
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public abstract void Load(IWebViewDelegate renderer);
internal event EventHandler SourceChanged;
}
diff --git a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
index 5436be5a4..5d9cc1c87 100644
--- a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
+++ b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
@@ -88,8 +88,13 @@
+
+
+
+
+
@@ -466,7 +471,5 @@
-
-
-
-
+
+
\ No newline at end of file
diff --git a/Xamarin.Forms.Core/XmlnsDefinitionAttribute.cs b/Xamarin.Forms.Core/XmlnsDefinitionAttribute.cs
index 4178dc92d..a8b516459 100644
--- a/Xamarin.Forms.Core/XmlnsDefinitionAttribute.cs
+++ b/Xamarin.Forms.Core/XmlnsDefinitionAttribute.cs
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
+
namespace Xamarin.Forms.Internals
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
diff --git a/Xamarin.Forms.Maps.Android/MapRenderer.cs b/Xamarin.Forms.Maps.Android/MapRenderer.cs
index 3316faa54..17ac3a95e 100644
--- a/Xamarin.Forms.Maps.Android/MapRenderer.cs
+++ b/Xamarin.Forms.Maps.Android/MapRenderer.cs
@@ -9,6 +9,7 @@ using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using Android.OS;
using Java.Lang;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.Android;
using Math = System.Math;
diff --git a/Xamarin.Forms.Pages/BaseDataSource.cs b/Xamarin.Forms.Pages/BaseDataSource.cs
index 678b5b741..84adb3b91 100644
--- a/Xamarin.Forms.Pages/BaseDataSource.cs
+++ b/Xamarin.Forms.Pages/BaseDataSource.cs
@@ -4,6 +4,7 @@ using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Pages
{
diff --git a/Xamarin.Forms.Pages/CompoundCollection.cs b/Xamarin.Forms.Pages/CompoundCollection.cs
index 6dbf502b3..47bc1ea7f 100644
--- a/Xamarin.Forms.Pages/CompoundCollection.cs
+++ b/Xamarin.Forms.Pages/CompoundCollection.cs
@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Pages
{
diff --git a/Xamarin.Forms.Pages/ListDataPage.cs b/Xamarin.Forms.Pages/ListDataPage.cs
index 2a2585ec8..9b2c788a1 100644
--- a/Xamarin.Forms.Pages/ListDataPage.cs
+++ b/Xamarin.Forms.Pages/ListDataPage.cs
@@ -1,4 +1,6 @@
-namespace Xamarin.Forms.Pages
+using Xamarin.Forms.Internals;
+
+namespace Xamarin.Forms.Pages
{
public class ListDataPageControl : ListView
{
diff --git a/Xamarin.Forms.Platform.Android/AndroidAppIndexProvider.cs b/Xamarin.Forms.Platform.Android/AndroidAppIndexProvider.cs
index e9b85eec9..9d43904e8 100644
--- a/Xamarin.Forms.Platform.Android/AndroidAppIndexProvider.cs
+++ b/Xamarin.Forms.Platform.Android/AndroidAppIndexProvider.cs
@@ -3,6 +3,7 @@ using System;
using System.Reflection;
using System.Linq;
using System.Globalization;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/ButtonRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/ButtonRenderer.cs
index aef56e111..61552f54f 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/ButtonRenderer.cs
@@ -7,6 +7,7 @@ using Android.Graphics.Drawables;
using Android.Support.V4.Content;
using Android.Support.V7.Widget;
using Android.Util;
+using Xamarin.Forms.Internals;
using GlobalResource = Android.Resource;
using Object = Java.Lang.Object;
using AView = Android.Views.View;
@@ -31,12 +32,12 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
global::Android.Widget.Button NativeButton => Control;
- void IOnAttachStateChangeListener.OnViewAttachedToWindow(AView attachedView)
+ void AView.IOnAttachStateChangeListener.OnViewAttachedToWindow(AView attachedView)
{
UpdateText();
}
- void IOnAttachStateChangeListener.OnViewDetachedFromWindow(AView detachedView)
+ void AView.IOnAttachStateChangeListener.OnViewDetachedFromWindow(AView detachedView)
{
}
@@ -161,7 +162,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
}
catch (Exception ex)
{
- Log.Warning("Xamarin.Forms.Platform.Android.ButtonRenderer", "Could not retrieve button background resource: {0}", ex);
+ Internals.Log.Warning("Xamarin.Forms.Platform.Android.ButtonRenderer", "Could not retrieve button background resource: {0}", ex);
Control.SupportBackgroundTintList = new ColorStateList(ColorExtensions.States, new[] { (int)0xffd7d6d6, 0x7fd7d6d6 });
}
}
@@ -289,7 +290,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
_textColorSwitcher?.UpdateTextColor(Control, Element.TextColor);
}
- class ButtonClickListener : Object, IOnClickListener
+ class ButtonClickListener : Object, AView.IOnClickListener
{
#region Statics
@@ -304,7 +305,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
}
}
- class ButtonTouchListener : Object, IOnTouchListener
+ class ButtonTouchListener : Object, AView.IOnTouchListener
{
public static readonly Lazy Instance = new Lazy(() => new ButtonTouchListener());
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/CarouselPageRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/CarouselPageRenderer.cs
index fb6d5b55f..f7a48d9b4 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/CarouselPageRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/CarouselPageRenderer.cs
@@ -91,13 +91,13 @@ namespace Xamarin.Forms.Platform.Android.AppCompat
{
OverScrollMode = OverScrollMode.Never,
EnableGesture = true,
- LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent),
+ LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent),
Adapter = new FormsFragmentPagerAdapter(e.NewElement, activity.SupportFragmentManager) { CountOverride = e.NewElement.Children.Count }
};
pager.Id = FormsAppCompatActivity.GetUniqueId();
pager.AddOnPageChangeListener(this);
- AddView(pager);
+ ViewGroup.AddView(pager);
CarouselPage carouselPage = e.NewElement;
if (carouselPage.CurrentPage != null)
ScrollToCurrentPage();
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs b/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs
index 223d3a834..4d5882183 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/FormsAppCompatActivity.cs
@@ -21,6 +21,7 @@ using AToolbar = Android.Support.V7.Widget.Toolbar;
using AColor = Android.Graphics.Color;
using AlertDialog = Android.Support.V7.App.AlertDialog;
using ARelativeLayout = Android.Widget.RelativeLayout;
+using Xamarin.Forms.Internals;
#endregion
@@ -56,6 +57,8 @@ namespace Xamarin.Forms.Platform.Android
_currentState = AndroidApplicationLifecycleState.Uninitialized;
}
+ IApplicationController Controller => _application;
+
public event EventHandler ConfigurationChanged;
int IStartActivityForResult.RegisterActivityResultCallback(Action callback)
@@ -126,7 +129,7 @@ namespace Xamarin.Forms.Platform.Android
_application = application;
(application as IApplicationController)?.SetAppIndexingProvider(new AndroidAppIndexProvider(this));
- Xamarin.Forms.Application.Current = application;
+ Xamarin.Forms.Application.SetCurrentApplication(application);
SetSoftInputMode();
@@ -354,7 +357,7 @@ namespace Xamarin.Forms.Platform.Android
}
catch (Exception ex)
{
- Log.Warning("Xamarin.Forms.Platform.Android.FormsAppCompatActivity", "Error retrieving color resource: {0}", ex);
+ Internals.Log.Warning("Xamarin.Forms.Platform.Android.FormsAppCompatActivity", "Error retrieving color resource: {0}", ex);
}
return -1;
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/FormsFragmentPagerAdapter.cs b/Xamarin.Forms.Platform.Android/AppCompat/FormsFragmentPagerAdapter.cs
index 99fbb396b..968695df7 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/FormsFragmentPagerAdapter.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/FormsFragmentPagerAdapter.cs
@@ -1,6 +1,7 @@
using Android.OS;
using Android.Support.V4.App;
using Java.Lang;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android.AppCompat
{
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/Platform.cs b/Xamarin.Forms.Platform.Android/AppCompat/Platform.cs
index eb23c4de0..69365c633 100644
--- a/Xamarin.Forms.Platform.Android/AppCompat/Platform.cs
+++ b/Xamarin.Forms.Platform.Android/AppCompat/Platform.cs
@@ -6,6 +6,7 @@ using Android.Content;
using Android.Views;
using Android.Views.Animations;
using ARelativeLayout = Android.Widget.RelativeLayout;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android.AppCompat
{
diff --git a/Xamarin.Forms.Platform.Android/Deserializer.cs b/Xamarin.Forms.Platform.Android/Deserializer.cs
index b1eafa889..c85aaa73b 100644
--- a/Xamarin.Forms.Platform.Android/Deserializer.cs
+++ b/Xamarin.Forms.Platform.Android/Deserializer.cs
@@ -5,6 +5,7 @@ using System.IO.IsolatedStorage;
using System.Runtime.Serialization;
using System.Threading.Tasks;
using System.Xml;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Extensions.cs b/Xamarin.Forms.Platform.Android/Extensions.cs
index c326555ae..227f98415 100644
--- a/Xamarin.Forms.Platform.Android/Extensions.cs
+++ b/Xamarin.Forms.Platform.Android/Extensions.cs
@@ -1,5 +1,6 @@
using Android.Content.Res;
using Android.Views;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Extensions/NativeBindingExtensions.cs b/Xamarin.Forms.Platform.Android/Extensions/NativeBindingExtensions.cs
index fd0724612..2182397b9 100644
--- a/Xamarin.Forms.Platform.Android/Extensions/NativeBindingExtensions.cs
+++ b/Xamarin.Forms.Platform.Android/Extensions/NativeBindingExtensions.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Forms.cs b/Xamarin.Forms.Platform.Android/Forms.cs
index c2352359f..8d336191b 100644
--- a/Xamarin.Forms.Platform.Android/Forms.cs
+++ b/Xamarin.Forms.Platform.Android/Forms.cs
@@ -115,10 +115,10 @@ namespace Xamarin.Forms
ResourceManager.Init(resourceAssembly);
- Color.Accent = GetAccentColor();
+ Color.SetAccent(GetAccentColor());
if (!IsInitialized)
- Log.Listeners.Add(new DelegateLogListener((c, m) => Trace.WriteLine(m, c)));
+ Internals.Log.Listeners.Add(new DelegateLogListener((c, m) => Trace.WriteLine(m, c)));
Device.PlatformServices = new AndroidPlatformServices();
@@ -134,7 +134,7 @@ namespace Xamarin.Forms
var ticker = Ticker.Default as AndroidTicker;
if (ticker != null)
ticker.Dispose();
- Ticker.Default = new AndroidTicker();
+ Ticker.SetDefault(new AndroidTicker());
if (!IsInitialized)
{
@@ -143,7 +143,7 @@ namespace Xamarin.Forms
int minWidthDp = Context.Resources.Configuration.SmallestScreenWidthDp;
- Device.Idiom = minWidthDp >= TabletCrossover ? TargetIdiom.Tablet : TargetIdiom.Phone;
+ Device.SetIdiom(minWidthDp >= TabletCrossover ? TargetIdiom.Tablet : TargetIdiom.Phone);
if (ExpressionSearch.Default == null)
ExpressionSearch.Default = new AndroidExpressionSearch();
@@ -387,7 +387,7 @@ namespace Xamarin.Forms
{
if (!response.IsSuccessStatusCode)
{
- Log.Warning("HTTP Request", $"Could not retrieve {uri}, status code {response.StatusCode}");
+ Internals.Log.Warning("HTTP Request", $"Could not retrieve {uri}, status code {response.StatusCode}");
return null;
}
return await response.Content.ReadAsStreamAsync();
@@ -468,7 +468,7 @@ namespace Xamarin.Forms
}
catch (Exception ex)
{
- Log.Warning("Xamarin.Forms.Platform.Android.AndroidPlatformServices", "Error retrieving text appearance: {0}", ex);
+ Internals.Log.Warning("Xamarin.Forms.Platform.Android.AndroidPlatformServices", "Error retrieving text appearance: {0}", ex);
}
return false;
}
@@ -503,13 +503,13 @@ namespace Xamarin.Forms
return Task.FromResult(_isolatedStorageFile.GetLastWriteTime(path));
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access);
return Task.FromResult(stream);
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access, FileShare share)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access, Internals.FileShare share)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access, (System.IO.FileShare)share);
return Task.FromResult(stream);
diff --git a/Xamarin.Forms.Platform.Android/FormsApplicationActivity.cs b/Xamarin.Forms.Platform.Android/FormsApplicationActivity.cs
index fb1fa174b..6e508cc4d 100644
--- a/Xamarin.Forms.Platform.Android/FormsApplicationActivity.cs
+++ b/Xamarin.Forms.Platform.Android/FormsApplicationActivity.cs
@@ -9,6 +9,7 @@ using Android.OS;
using Android.Views;
using Android.Widget;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
@@ -105,7 +106,7 @@ namespace Xamarin.Forms.Platform.Android
(application as IApplicationController)?.SetAppIndexingProvider(new AndroidAppIndexProvider(this));
_application = application;
- Xamarin.Forms.Application.Current = application;
+ Xamarin.Forms.Application.SetCurrentApplication(application);
SetSoftInputMode();
diff --git a/Xamarin.Forms.Platform.Android/NativeBindingservice.cs b/Xamarin.Forms.Platform.Android/NativeBindingservice.cs
index 3dd4fe3cd..f67b2a9aa 100644
--- a/Xamarin.Forms.Platform.Android/NativeBindingservice.cs
+++ b/Xamarin.Forms.Platform.Android/NativeBindingservice.cs
@@ -1,11 +1,12 @@
using System;
+using Xamarin.Forms.Xaml.Internals;
using AView = Android.Views.View;
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.Android.NativeBindingService))]
namespace Xamarin.Forms.Platform.Android
{
- class NativeBindingService : Xaml.INativeBindingService
+ class NativeBindingService : INativeBindingService
{
public bool TrySetBinding(object target, string propertyName, BindingBase binding)
{
diff --git a/Xamarin.Forms.Platform.Android/NativeValueConverterService.cs b/Xamarin.Forms.Platform.Android/NativeValueConverterService.cs
index ff6faa90a..69cccd940 100644
--- a/Xamarin.Forms.Platform.Android/NativeValueConverterService.cs
+++ b/Xamarin.Forms.Platform.Android/NativeValueConverterService.cs
@@ -1,10 +1,11 @@
using System;
+using Xamarin.Forms.Xaml.Internals;
using AView = Android.Views.View;
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.Android.NativeValueConverterService))]
namespace Xamarin.Forms.Platform.Android
{
- class NativeValueConverterService : Xaml.INativeValueConverterService
+ class NativeValueConverterService : INativeValueConverterService
{
public bool ConvertTo(object value, Type toType, out object nativeValue)
{
diff --git a/Xamarin.Forms.Platform.Android/PanGestureHandler.cs b/Xamarin.Forms.Platform.Android/PanGestureHandler.cs
index a552964cc..0837f633b 100644
--- a/Xamarin.Forms.Platform.Android/PanGestureHandler.cs
+++ b/Xamarin.Forms.Platform.Android/PanGestureHandler.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs b/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs
index bc06531cf..c315b92c5 100644
--- a/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs
+++ b/Xamarin.Forms.Platform.Android/PinchGestureHandler.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/RendererPool.cs b/Xamarin.Forms.Platform.Android/RendererPool.cs
index 447de3fdf..48665c81e 100644
--- a/Xamarin.Forms.Platform.Android/RendererPool.cs
+++ b/Xamarin.Forms.Platform.Android/RendererPool.cs
@@ -35,7 +35,7 @@ namespace Xamarin.Forms.Platform.Android
if (view == null)
throw new ArgumentNullException("view");
- Type rendererType = Registrar.Registered.GetHandlerType(view.GetType()) ?? typeof(ViewRenderer);
+ Type rendererType = Internals.Registrar.Registered.GetHandlerType(view.GetType()) ?? typeof(ViewRenderer);
Stack renderers;
if (!_freeRenderers.TryGetValue(rendererType, out renderers) || renderers.Count == 0)
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ActionSheetRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ActionSheetRenderer.cs
index 8495d8077..8c937f4c3 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/ActionSheetRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/ActionSheetRenderer.cs
@@ -6,6 +6,7 @@ using Android.Views;
using Android.Widget;
using AButton = Android.Widget.Button;
using AView = Android.Views.View;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Renderers/CarouselPageAdapter.cs b/Xamarin.Forms.Platform.Android/Renderers/CarouselPageAdapter.cs
index b7e98baee..efee571dd 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/CarouselPageAdapter.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/CarouselPageAdapter.cs
@@ -4,6 +4,7 @@ using System.Linq;
using Android.Content;
using Android.Support.V4.View;
using Android.Views;
+using Xamarin.Forms.Internals;
using Object = Java.Lang.Object;
namespace Xamarin.Forms.Platform.Android
diff --git a/Xamarin.Forms.Platform.Android/Renderers/FontExtensions.cs b/Xamarin.Forms.Platform.Android/Renderers/FontExtensions.cs
index 981065b7f..75238a368 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/FontExtensions.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/FontExtensions.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text.RegularExpressions;
using Android.Graphics;
using AApplication = Android.App.Application;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
index fe91d588e..e18d4b955 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/ImageRenderer.cs
@@ -4,6 +4,7 @@ using System.IO;
using System.Threading.Tasks;
using Android.Graphics;
using AImageView = Android.Widget.ImageView;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
@@ -82,7 +83,7 @@ namespace Xamarin.Forms.Platform.Android
Bitmap bitmap = null;
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
try
{
diff --git a/Xamarin.Forms.Platform.Android/Renderers/KeyboardExtensions.cs b/Xamarin.Forms.Platform.Android/Renderers/KeyboardExtensions.cs
index 6941422da..9a22e6411 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/KeyboardExtensions.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/KeyboardExtensions.cs
@@ -1,4 +1,5 @@
using Android.Text;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Renderers/MasterDetailContainer.cs b/Xamarin.Forms.Platform.Android/Renderers/MasterDetailContainer.cs
index 7e28392fa..a7bebf1e1 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/MasterDetailContainer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/MasterDetailContainer.cs
@@ -5,6 +5,7 @@ using Android.Content.Res;
using Android.Runtime;
using Android.Views;
using Android.Widget;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/Renderers/NavigationMenuRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/NavigationMenuRenderer.cs
index c7e45ad9f..ea43a43b8 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/NavigationMenuRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/NavigationMenuRenderer.cs
@@ -6,6 +6,7 @@ using Android.Graphics;
using Android.Views;
using Android.Widget;
using AView = Android.Views.View;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
@@ -115,6 +116,8 @@ namespace Xamarin.Forms.Platform.Android
{
readonly NavigationMenu _menu;
+ INavigationMenuController MenuController => _menu;
+
public MenuAdapter(NavigationMenu menu)
{
_menu = menu;
@@ -135,7 +138,7 @@ namespace Xamarin.Forms.Platform.Android
Page item = this[position];
menuItem.Icon = item.Icon;
menuItem.Name = item.Title;
- menuItem.OnSelected = () => _menu.SendTargetSelected(item);
+ menuItem.OnSelected = () => MenuController.SendTargetSelected(item);
return menuItem;
}
diff --git a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
index 8efc41e17..9e49a9044 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
@@ -12,6 +12,8 @@ namespace Xamarin.Forms.Platform.Android
bool _ignoreSourceChanges;
FormsWebChromeClient _webChromeClient;
+ IWebViewController ElementController => Element;
+
public WebViewRenderer()
{
AutoPackage = false;
@@ -35,9 +37,9 @@ namespace Xamarin.Forms.Platform.Android
{
if (Control != null)
Control.StopLoading();
- Element.EvalRequested -= OnEvalRequested;
- Element.GoBackRequested -= OnGoBackRequested;
- Element.GoForwardRequested -= OnGoForwardRequested;
+ ElementController.EvalRequested -= OnEvalRequested;
+ ElementController.GoBackRequested -= OnGoBackRequested;
+ ElementController.GoForwardRequested -= OnGoForwardRequested;
_webChromeClient?.Dispose();
}
@@ -84,16 +86,18 @@ namespace Xamarin.Forms.Platform.Android
if (e.OldElement != null)
{
- e.OldElement.EvalRequested -= OnEvalRequested;
- e.OldElement.GoBackRequested -= OnGoBackRequested;
- e.OldElement.GoForwardRequested -= OnGoForwardRequested;
+ var oldElementController = e.OldElement as IWebViewController;
+ oldElementController.EvalRequested -= OnEvalRequested;
+ oldElementController.GoBackRequested -= OnGoBackRequested;
+ oldElementController.GoForwardRequested -= OnGoForwardRequested;
}
if (e.NewElement != null)
{
- e.NewElement.EvalRequested += OnEvalRequested;
- e.NewElement.GoBackRequested += OnGoBackRequested;
- e.NewElement.GoForwardRequested += OnGoForwardRequested;
+ var newElementController = e.NewElement as IWebViewController;
+ newElementController.EvalRequested += OnEvalRequested;
+ newElementController.GoBackRequested += OnGoBackRequested;
+ newElementController.GoForwardRequested += OnGoForwardRequested;
}
Load();
@@ -147,8 +151,8 @@ namespace Xamarin.Forms.Platform.Android
{
if (Element == null || Control == null)
return;
- Element.CanGoBack = Control.CanGoBack();
- Element.CanGoForward = Control.CanGoForward();
+ ElementController.CanGoBack = Control.CanGoBack();
+ ElementController.CanGoForward = Control.CanGoForward();
}
class WebClient : WebViewClient
@@ -170,12 +174,12 @@ namespace Xamarin.Forms.Platform.Android
var source = new UrlWebViewSource { Url = url };
_renderer._ignoreSourceChanges = true;
- ((IElementController)_renderer.Element).SetValueFromRenderer(WebView.SourceProperty, source);
+ _renderer.ElementController.SetValueFromRenderer(WebView.SourceProperty, source);
_renderer._ignoreSourceChanges = false;
var args = new WebNavigatedEventArgs(WebNavigationEvent.NewPage, source, url, _navigationResult);
- _renderer.Element.SendNavigated(args);
+ _renderer.ElementController.SendNavigated(args);
_renderer.UpdateCanGoBackForward();
@@ -209,7 +213,7 @@ namespace Xamarin.Forms.Platform.Android
var args = new WebNavigatingEventArgs(WebNavigationEvent.NewPage, new UrlWebViewSource { Url = url }, url);
- _renderer.Element.SendNavigating(args);
+ _renderer.ElementController.SendNavigating(args);
_navigationResult = WebNavigationResult.Success;
_renderer.UpdateCanGoBackForward();
diff --git a/Xamarin.Forms.Platform.Android/ResourceManager.cs b/Xamarin.Forms.Platform.Android/ResourceManager.cs
index 397b3c279..0fdccaef9 100644
--- a/Xamarin.Forms.Platform.Android/ResourceManager.cs
+++ b/Xamarin.Forms.Platform.Android/ResourceManager.cs
@@ -7,6 +7,7 @@ using Android.Graphics;
using Android.Graphics.Drawables;
using Android.Support.V4.Content;
using Path = System.IO.Path;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/ResourcesProvider.cs b/Xamarin.Forms.Platform.Android/ResourcesProvider.cs
index 5c7e1de3e..7af554945 100644
--- a/Xamarin.Forms.Platform.Android/ResourcesProvider.cs
+++ b/Xamarin.Forms.Platform.Android/ResourcesProvider.cs
@@ -1,6 +1,7 @@
using Android.Content;
using Android.Content.Res;
using Android.Util;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/TapGestureHandler.cs b/Xamarin.Forms.Platform.Android/TapGestureHandler.cs
index dcd8d6f77..0dd632620 100644
--- a/Xamarin.Forms.Platform.Android/TapGestureHandler.cs
+++ b/Xamarin.Forms.Platform.Android/TapGestureHandler.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.Android/ViewRenderer.cs b/Xamarin.Forms.Platform.Android/ViewRenderer.cs
index ee5913b1a..842fc5c21 100644
--- a/Xamarin.Forms.Platform.Android/ViewRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/ViewRenderer.cs
@@ -32,7 +32,7 @@ namespace Xamarin.Forms.Platform.Android
public TNativeView Control { get; private set; }
- void IOnFocusChangeListener.OnFocusChange(AView v, bool hasFocus)
+ void AView.IOnFocusChangeListener.OnFocusChange(AView v, bool hasFocus)
{
if (Element is Entry || Element is SearchBar || Element is Editor)
{
@@ -146,7 +146,7 @@ namespace Xamarin.Forms.Platform.Android
protected override void OnRegisterEffect(PlatformEffect effect)
{
base.OnRegisterEffect(effect);
- effect.Control = Control;
+ effect.SetControl(Control);
}
protected override void SetAutomationId(string id)
diff --git a/Xamarin.Forms.Platform.Android/VisualElementPackager.cs b/Xamarin.Forms.Platform.Android/VisualElementPackager.cs
index 0ad1b4241..0e08cfedb 100644
--- a/Xamarin.Forms.Platform.Android/VisualElementPackager.cs
+++ b/Xamarin.Forms.Platform.Android/VisualElementPackager.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
+using Xamarin.Forms.Internals;
using AView = Android.Views.View;
namespace Xamarin.Forms.Platform.Android
diff --git a/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs b/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs
index 3986a6db4..7f5c7f91c 100644
--- a/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs
@@ -85,7 +85,7 @@ namespace Xamarin.Forms.Platform.Android
OnRegisterEffect(platformEffect);
}
- void IOnClickListener.OnClick(AView v)
+ void AView.IOnClickListener.OnClick(AView v)
{
_tapGestureHandler.OnSingleClick();
}
@@ -98,7 +98,7 @@ namespace Xamarin.Forms.Platform.Android
return base.OnInterceptTouchEvent(ev);
}
- bool IOnTouchListener.OnTouch(AView v, MotionEvent e)
+ bool AView.IOnTouchListener.OnTouch(AView v, MotionEvent e)
{
var handled = false;
if (_pinchGestureHandler.IsPinchSupported)
@@ -334,7 +334,7 @@ namespace Xamarin.Forms.Platform.Android
protected virtual void OnRegisterEffect(PlatformEffect effect)
{
- effect.Container = this;
+ effect.SetContainer(this);
}
protected virtual void SetAutomationId(string id)
diff --git a/Xamarin.Forms.Platform.Android/VisualElementTracker.cs b/Xamarin.Forms.Platform.Android/VisualElementTracker.cs
index 34c362d62..77404da88 100644
--- a/Xamarin.Forms.Platform.Android/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.Android/VisualElementTracker.cs
@@ -6,6 +6,7 @@ using Android.OS;
using Android.Views;
using AView = Android.Views.View;
using Object = Java.Lang.Object;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.Android
{
diff --git a/Xamarin.Forms.Platform.MacOS/Cells/CellNSView.cs b/Xamarin.Forms.Platform.MacOS/Cells/CellNSView.cs
index 08043ce89..f0a9d0f38 100644
--- a/Xamarin.Forms.Platform.MacOS/Cells/CellNSView.cs
+++ b/Xamarin.Forms.Platform.MacOS/Cells/CellNSView.cs
@@ -124,7 +124,7 @@ namespace Xamarin.Forms.Platform.MacOS
NSView nativeCell;
if (reusable == null || !isRecycle)
{
- var renderer = (CellRenderer)Registrar.Registered.GetHandler(cell.GetType());
+ var renderer = (CellRenderer)Internals.Registrar.Registered.GetHandler(cell.GetType());
nativeCell = renderer.GetCell(cell, null, tableView);
}
else
diff --git a/Xamarin.Forms.Platform.MacOS/Cells/ImageCellRenderer.cs b/Xamarin.Forms.Platform.MacOS/Cells/ImageCellRenderer.cs
index 8bd767727..1986ebb45 100644
--- a/Xamarin.Forms.Platform.MacOS/Cells/ImageCellRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Cells/ImageCellRenderer.cs
@@ -43,7 +43,7 @@ namespace Xamarin.Forms.Platform.MacOS
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
NSImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.MacOS/Cells/ViewCellNSView.cs b/Xamarin.Forms.Platform.MacOS/Cells/ViewCellNSView.cs
index 6b342c229..f24987499 100644
--- a/Xamarin.Forms.Platform.MacOS/Cells/ViewCellNSView.cs
+++ b/Xamarin.Forms.Platform.MacOS/Cells/ViewCellNSView.cs
@@ -92,7 +92,7 @@ namespace Xamarin.Forms.Platform.MacOS
if (renderer.Element != null && renderer == Platform.GetRenderer(renderer.Element))
renderer.Element.ClearValue(Platform.RendererProperty);
- var type = Registrar.Registered.GetHandlerType(_viewCell.View.GetType());
+ var type = Internals.Registrar.Registered.GetHandlerType(_viewCell.View.GetType());
if (renderer.GetType() == type || (renderer is DefaultRenderer && type == null))
renderer.SetElement(_viewCell.View);
else
diff --git a/Xamarin.Forms.Platform.MacOS/FormsApplicationDelegate.cs b/Xamarin.Forms.Platform.MacOS/FormsApplicationDelegate.cs
index 4899698e8..8411fde00 100644
--- a/Xamarin.Forms.Platform.MacOS/FormsApplicationDelegate.cs
+++ b/Xamarin.Forms.Platform.MacOS/FormsApplicationDelegate.cs
@@ -24,7 +24,7 @@ namespace Xamarin.Forms.Platform.MacOS
if (application == null)
throw new ArgumentNullException(nameof(application));
- Application.Current = application;
+ Application.SetCurrentApplication(application);
_application = application;
application.PropertyChanged += ApplicationOnPropertyChanged;
diff --git a/Xamarin.Forms.Platform.MacOS/Platform.cs b/Xamarin.Forms.Platform.MacOS/Platform.cs
index 8629684b7..74c1e0e90 100644
--- a/Xamarin.Forms.Platform.MacOS/Platform.cs
+++ b/Xamarin.Forms.Platform.MacOS/Platform.cs
@@ -2,6 +2,7 @@
using AppKit;
using RectangleF = CoreGraphics.CGRect;
using System.Linq;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.MacOS
{
@@ -95,7 +96,7 @@ namespace Xamarin.Forms.Platform.MacOS
public static IVisualElementRenderer CreateRenderer(VisualElement element)
{
var t = element.GetType();
- var renderer = Registrar.Registered.GetHandler(t) ?? new DefaultRenderer();
+ var renderer = Internals.Registrar.Registered.GetHandler(t) ?? new DefaultRenderer();
renderer.SetElement(element);
return renderer;
}
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/ButtonRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/ButtonRenderer.cs
index 05b87fa2b..b23b4228f 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/ButtonRenderer.cs
@@ -92,7 +92,7 @@ namespace Xamarin.Forms.Platform.MacOS
{
IImageSourceHandler handler;
FileImageSource source = Element.Image;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
NSImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/ImageRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/ImageRenderer.cs
index 090df9a67..f936f4ace 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/ImageRenderer.cs
@@ -83,7 +83,7 @@ namespace Xamarin.Forms.Platform.MacOS
((IImageController)Element).SetIsLoading(true);
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
NSImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/ListViewDataSource.cs b/Xamarin.Forms.Platform.MacOS/Renderers/ListViewDataSource.cs
index 6742053c9..0a0a9db86 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/ListViewDataSource.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/ListViewDataSource.cs
@@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using AppKit;
using Foundation;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.MacOS
{
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/MasterDetailPageRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/MasterDetailPageRenderer.cs
index 8d2fd5516..34005c3b3 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/MasterDetailPageRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/MasterDetailPageRenderer.cs
@@ -19,7 +19,7 @@ namespace Xamarin.Forms.Platform.MacOS
{
var platformEffect = effect as PlatformEffect;
if (platformEffect != null)
- platformEffect.Container = View;
+ platformEffect.SetContainer(View);
}
protected MasterDetailPage MasterDetailPage => _masterDetailPage ?? (_masterDetailPage = (MasterDetailPage)Element);
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/NavigationPageRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/NavigationPageRenderer.cs
index 23d7f8562..218d787f1 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/NavigationPageRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/NavigationPageRenderer.cs
@@ -28,7 +28,7 @@ namespace Xamarin.Forms.Platform.MacOS
{
var platformEffect = effect as PlatformEffect;
if (platformEffect != null)
- platformEffect.Container = View;
+ platformEffect.SetContainer(View);
}
public NavigationPageRenderer() : this(IntPtr.Zero)
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/PageRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/PageRenderer.cs
index e0845d5a4..863b2a7e4 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/PageRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/PageRenderer.cs
@@ -24,7 +24,7 @@ namespace Xamarin.Forms.Platform.MacOS
{
var platformEffect = effect as PlatformEffect;
if (platformEffect != null)
- platformEffect.Container = View;
+ platformEffect.SetContainer(View);
}
public VisualElement Element { get; private set; }
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/TabbedPageRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/TabbedPageRenderer.cs
index 3aee095d5..e1591beef 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/TabbedPageRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/TabbedPageRenderer.cs
@@ -80,7 +80,7 @@ namespace Xamarin.Forms.Platform.MacOS
{
var platformEffect = effect as PlatformEffect;
if (platformEffect != null)
- platformEffect.Container = View;
+ platformEffect.SetContainer(View);
}
public void SetElementSize(Size size)
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/WebViewRenderer.cs
index 8d93c2c7b..509c38fb3 100644
--- a/Xamarin.Forms.Platform.MacOS/Renderers/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.MacOS/Renderers/WebViewRenderer.cs
@@ -13,7 +13,7 @@ namespace Xamarin.Forms.Platform.MacOS
WebNavigationEvent _lastBackForwardEvent;
WebNavigationEvent _lastEvent;
- IElementController ElementController => Element;
+ IWebViewController ElementController => Element;
void IWebViewDelegate.LoadHtml(string html, string baseUrl)
{
@@ -43,9 +43,9 @@ namespace Xamarin.Forms.Platform.MacOS
Control.OnFinishedLoading += OnNSWebViewFinishedLoad;
Control.OnFailedLoading += OnNSWebViewFailedLoadWithError;
- Element.EvalRequested += OnEvalRequested;
- Element.GoBackRequested += OnGoBackRequested;
- Element.GoForwardRequested += OnGoForwardRequested;
+ ElementController.EvalRequested += OnEvalRequested;
+ ElementController.GoBackRequested += OnGoBackRequested;
+ ElementController.GoForwardRequested += OnGoForwardRequested;
Layer.BackgroundColor = NSColor.Clear.CGColor;
}
@@ -69,9 +69,9 @@ namespace Xamarin.Forms.Platform.MacOS
_disposed = true;
Control.OnFinishedLoading -= OnNSWebViewFinishedLoad;
Control.OnFailedLoading -= OnNSWebViewFailedLoadWithError;
- Element.EvalRequested -= OnEvalRequested;
- Element.GoBackRequested -= OnGoBackRequested;
- Element.GoForwardRequested -= OnGoForwardRequested;
+ ElementController.EvalRequested -= OnEvalRequested;
+ ElementController.GoBackRequested -= OnGoBackRequested;
+ ElementController.GoForwardRequested -= OnGoForwardRequested;
}
base.Dispose(disposing);
}
@@ -90,8 +90,8 @@ namespace Xamarin.Forms.Platform.MacOS
{
if (Element == null)
return;
- Element.CanGoBack = Control.CanGoBack();
- Element.CanGoForward = Control.CanGoForward();
+ ElementController.CanGoBack = Control.CanGoBack();
+ ElementController.CanGoForward = Control.CanGoForward();
}
void OnEvalRequested(object sender, EvalRequested eventArg)
@@ -124,7 +124,7 @@ namespace Xamarin.Forms.Platform.MacOS
void OnNSWebViewFailedLoadWithError(object sender, WebKit.WebResourceErrorEventArgs e)
{
_lastEvent = _lastBackForwardEvent;
- Element?.SendNavigated(new WebNavigatedEventArgs(_lastEvent, new UrlWebViewSource { Url = Control.MainFrameUrl },
+ ElementController?.SendNavigated(new WebNavigatedEventArgs(_lastEvent, new UrlWebViewSource { Url = Control.MainFrameUrl },
Control.MainFrameUrl, WebNavigationResult.Failure));
UpdateCanGoBackForward();
@@ -140,7 +140,7 @@ namespace Xamarin.Forms.Platform.MacOS
_ignoreSourceChanges = false;
_lastEvent = _lastBackForwardEvent;
- Element?.SendNavigated(new WebNavigatedEventArgs(_lastEvent, Element?.Source, Control.MainFrameUrl,
+ ElementController?.SendNavigated(new WebNavigatedEventArgs(_lastEvent, Element?.Source, Control.MainFrameUrl,
WebNavigationResult.Success));
UpdateCanGoBackForward();
diff --git a/Xamarin.Forms.Platform.UAP/NativeBindingService.cs b/Xamarin.Forms.Platform.UAP/NativeBindingService.cs
index e999af2ab..12112406d 100644
--- a/Xamarin.Forms.Platform.UAP/NativeBindingService.cs
+++ b/Xamarin.Forms.Platform.UAP/NativeBindingService.cs
@@ -4,6 +4,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Xaml.Internals;
#if WINDOWS_UWP
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.UWP.NativeBindingService))]
@@ -13,7 +15,7 @@ namespace Xamarin.Forms.Platform.UWP
namespace Xamarin.Forms.Platform.WinRT
#endif
{
- public class NativeBindingService : Xaml.INativeBindingService
+ public class NativeBindingService : INativeBindingService
{
public bool TrySetBinding(object target, string propertyName, BindingBase binding)
{
diff --git a/Xamarin.Forms.Platform.UAP/NativeValueConverterService.cs b/Xamarin.Forms.Platform.UAP/NativeValueConverterService.cs
index 1f0ef68ad..574f78ed8 100644
--- a/Xamarin.Forms.Platform.UAP/NativeValueConverterService.cs
+++ b/Xamarin.Forms.Platform.UAP/NativeValueConverterService.cs
@@ -4,6 +4,8 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Xaml.Internals;
#if WINDOWS_UWP
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.UWP.NativeValueConverterService))]
@@ -13,7 +15,7 @@ namespace Xamarin.Forms.Platform.UWP
namespace Xamarin.Forms.Platform.WinRT
#endif
{
- public class NativeValueConverterService : Xaml.INativeValueConverterService
+ public class NativeValueConverterService : INativeValueConverterService
{
public bool ConvertTo(object value, Type toType, out object nativeValue)
{
diff --git a/Xamarin.Forms.Platform.UAP/PlatformUWP.cs b/Xamarin.Forms.Platform.UAP/PlatformUWP.cs
index 83cb91290..bc2ea4993 100644
--- a/Xamarin.Forms.Platform.UAP/PlatformUWP.cs
+++ b/Xamarin.Forms.Platform.UAP/PlatformUWP.cs
@@ -10,6 +10,7 @@ using Windows.UI.Core;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.UWP
{
diff --git a/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs b/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
index e44d244c6..d31d3ba03 100644
--- a/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/ButtonRenderer.cs
@@ -111,7 +111,7 @@ namespace Xamarin.Forms.Platform.WinPhone
bmp.ImageOpened += (sender, args) => {
image.Width = bmp.PixelWidth;
image.Height = bmp.PixelHeight;
- Element.InvalidateMeasureInternal(InvalidationTrigger.RendererReady);
+ Element.InvalidateMeasureNonVirtual(InvalidationTrigger.RendererReady);
};
// No text, just the image
diff --git a/Xamarin.Forms.Platform.WP8/Converters/ImageConverter.cs b/Xamarin.Forms.Platform.WP8/Converters/ImageConverter.cs
index 2e8bdef61..d1f650b01 100644
--- a/Xamarin.Forms.Platform.WP8/Converters/ImageConverter.cs
+++ b/Xamarin.Forms.Platform.WP8/Converters/ImageConverter.cs
@@ -11,7 +11,7 @@ namespace Xamarin.Forms.Platform.WinPhone
var source = (ImageSource)value;
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
Task task = handler.LoadImageAsync(source);
return new AsyncValue(task, null);
diff --git a/Xamarin.Forms.Platform.WP8/Deserializer.cs b/Xamarin.Forms.Platform.WP8/Deserializer.cs
index 29c0e3749..8782e72e7 100644
--- a/Xamarin.Forms.Platform.WP8/Deserializer.cs
+++ b/Xamarin.Forms.Platform.WP8/Deserializer.cs
@@ -5,6 +5,7 @@ using System.IO.IsolatedStorage;
using System.Runtime.Serialization;
using System.Threading.Tasks;
using System.Xml;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/EntryRenderer.cs b/Xamarin.Forms.Platform.WP8/EntryRenderer.cs
index 2a92d6679..20fb7533d 100644
--- a/Xamarin.Forms.Platform.WP8/EntryRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/EntryRenderer.cs
@@ -4,6 +4,7 @@ using System.Diagnostics;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
+using Xamarin.Forms.Internals;
using static System.String;
using WControl = System.Windows.Controls.Control;
diff --git a/Xamarin.Forms.Platform.WP8/Extensions.cs b/Xamarin.Forms.Platform.WP8/Extensions.cs
index 844c75ab5..d3eb9209e 100644
--- a/Xamarin.Forms.Platform.WP8/Extensions.cs
+++ b/Xamarin.Forms.Platform.WP8/Extensions.cs
@@ -1,4 +1,5 @@
using Microsoft.Phone.Controls;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/FontExtensions.cs b/Xamarin.Forms.Platform.WP8/FontExtensions.cs
index dc4690ea5..9ac5baf5d 100644
--- a/Xamarin.Forms.Platform.WP8/FontExtensions.cs
+++ b/Xamarin.Forms.Platform.WP8/FontExtensions.cs
@@ -3,6 +3,7 @@ using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/Forms.cs b/Xamarin.Forms.Platform.WP8/Forms.cs
index d2a40d121..241b50049 100644
--- a/Xamarin.Forms.Platform.WP8/Forms.cs
+++ b/Xamarin.Forms.Platform.WP8/Forms.cs
@@ -46,7 +46,7 @@ namespace Xamarin.Forms
var accent = System.Windows.Application.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;
System.Windows.Media.Color color = accent.Color;
- Color.Accent = Color.FromRgba(color.R, color.G, color.B, color.A);
+ Color.SetAccent(Color.FromRgba(color.R, color.G, color.B, color.A));
Log.Listeners.Add(new DelegateLogListener((c, m) => Console.WriteLine("[{0}] {1}", m, c)));
@@ -55,9 +55,9 @@ namespace Xamarin.Forms
Registrar.RegisterAll(new[] { typeof(ExportRendererAttribute), typeof(ExportCellAttribute), typeof(ExportImageSourceHandlerAttribute) });
- Ticker.Default = new WinPhoneTicker();
+ Ticker.SetDefault(new WinPhoneTicker());
- Device.Idiom = TargetIdiom.Phone;
+ Device.SetIdiom(TargetIdiom.Phone);
ExpressionSearch.Default = new WinPhoneExpressionSearch();
diff --git a/Xamarin.Forms.Platform.WP8/FormsApplicationPage.cs b/Xamarin.Forms.Platform.WP8/FormsApplicationPage.cs
index 3fb3ddc0c..e5b5dec7a 100644
--- a/Xamarin.Forms.Platform.WP8/FormsApplicationPage.cs
+++ b/Xamarin.Forms.Platform.WP8/FormsApplicationPage.cs
@@ -23,7 +23,7 @@ namespace Xamarin.Forms.Platform.WinPhone
protected void LoadApplication(Application application)
{
- Application.Current = application;
+ Application.SetCurrentApplication(application);
application.PropertyChanged += ApplicationOnPropertyChanged;
_application = application;
diff --git a/Xamarin.Forms.Platform.WP8/ImageRenderer.cs b/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
index ebc50adca..a3d4cacdb 100644
--- a/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/ImageRenderer.cs
@@ -82,7 +82,7 @@ namespace Xamarin.Forms.Platform.WinPhone
ImageSource source = Element.Source;
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
System.Windows.Media.ImageSource imagesource;
try
diff --git a/Xamarin.Forms.Platform.WP8/NavigationMenuRenderer.cs b/Xamarin.Forms.Platform.WP8/NavigationMenuRenderer.cs
index 83af320b7..3613a1808 100644
--- a/Xamarin.Forms.Platform.WP8/NavigationMenuRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/NavigationMenuRenderer.cs
@@ -2,6 +2,7 @@
using System.ComponentModel;
using System.Windows.Media.Imaging;
using Microsoft.Phone.Controls;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
@@ -9,6 +10,8 @@ namespace Xamarin.Forms.Platform.WinPhone
{
const int Spacing = 12;
+ INavigationMenuController ElementController => Element;
+
protected override void OnElementChanged(ElementChangedEventArgs e)
{
base.OnElementChanged(e);
@@ -63,7 +66,7 @@ namespace Xamarin.Forms.Platform.WinPhone
hubTile.Background = target.BackgroundColor.ToBrush();
Page tmp = target;
- hubTile.Tap += (sender, args) => Element.SendTargetSelected(tmp);
+ hubTile.Tap += (sender, args) => ElementController.SendTargetSelected(tmp);
hubTile.SetValue(System.Windows.Controls.Grid.RowProperty, y);
hubTile.SetValue(System.Windows.Controls.Grid.ColumnProperty, x);
diff --git a/Xamarin.Forms.Platform.WP8/Properties/AssemblyInfo.cs b/Xamarin.Forms.Platform.WP8/Properties/AssemblyInfo.cs
index e081584b8..0f4e23e02 100644
--- a/Xamarin.Forms.Platform.WP8/Properties/AssemblyInfo.cs
+++ b/Xamarin.Forms.Platform.WP8/Properties/AssemblyInfo.cs
@@ -3,6 +3,7 @@ using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Xamarin.Forms;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.WinPhone;
using TableView = Xamarin.Forms.TableView;
diff --git a/Xamarin.Forms.Platform.WP8/ResourcesProvider.cs b/Xamarin.Forms.Platform.WP8/ResourcesProvider.cs
index 3eaf2a1fa..effcb76f1 100644
--- a/Xamarin.Forms.Platform.WP8/ResourcesProvider.cs
+++ b/Xamarin.Forms.Platform.WP8/ResourcesProvider.cs
@@ -1,4 +1,5 @@
using System.Windows.Controls;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/TableViewRenderer.cs b/Xamarin.Forms.Platform.WP8/TableViewRenderer.cs
index 4c6856138..22e16a679 100644
--- a/Xamarin.Forms.Platform.WP8/TableViewRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/TableViewRenderer.cs
@@ -5,6 +5,7 @@ using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using Microsoft.Phone.Shell;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs b/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
index 93788adfe..0437bcad9 100644
--- a/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/VisualElementRenderer.cs
@@ -239,8 +239,8 @@ namespace Xamarin.Forms.Platform.WinPhone
protected virtual void OnRegisterEffect(PlatformEffect effect)
{
- effect.Container = this;
- effect.Control = Control;
+ effect.SetContainer(this);
+ effect.SetControl(Control);
}
protected void SetNativeControl(TNativeElement element)
diff --git a/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs b/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
index 45b51a956..b206af589 100644
--- a/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.WP8/VisualElementTracker.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
diff --git a/Xamarin.Forms.Platform.WP8/WP8PlatformServices.cs b/Xamarin.Forms.Platform.WP8/WP8PlatformServices.cs
index 661266316..788c5f2df 100644
--- a/Xamarin.Forms.Platform.WP8/WP8PlatformServices.cs
+++ b/Xamarin.Forms.Platform.WP8/WP8PlatformServices.cs
@@ -169,13 +169,13 @@ namespace Xamarin.Forms
return Task.FromResult(_isolatedStorageFile.GetLastWriteTime(path));
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access);
return Task.FromResult(stream);
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access, FileShare share)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access, Internals.FileShare share)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access, (System.IO.FileShare)share);
return Task.FromResult(stream);
diff --git a/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs b/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
index d120cff8a..33f733970 100644
--- a/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
@@ -14,6 +14,8 @@ namespace Xamarin.Forms.Platform.WinPhone
WebNavigationEvent _eventState;
bool _updating;
+ IWebViewController ElementController => Element;
+
public async void LoadHtml(string html, string baseUrl)
{
string fileName = string.Format("formslocal_{0}.html", DateTime.Now.Ticks);
@@ -43,17 +45,19 @@ namespace Xamarin.Forms.Platform.WinPhone
if (e.OldElement != null)
{
- e.OldElement.EvalRequested -= OnEvalRequested;
- e.OldElement.GoBackRequested -= OnGoBackRequested;
- e.OldElement.GoForwardRequested -= OnGoForwardRequested;
+ var oldElementController = e.OldElement as IWebViewController;
+ oldElementController.EvalRequested -= OnEvalRequested;
+ oldElementController.GoBackRequested -= OnGoBackRequested;
+ oldElementController.GoForwardRequested -= OnGoForwardRequested;
Control.DataContext = null;
}
if (e.NewElement != null)
{
- e.NewElement.EvalRequested += OnEvalRequested;
- e.NewElement.GoBackRequested += OnGoBackRequested;
- e.NewElement.GoForwardRequested += OnGoForwardRequested;
+ var newElementController = e.NewElement as IWebViewController;
+ newElementController.EvalRequested += OnEvalRequested;
+ newElementController.GoBackRequested += OnGoBackRequested;
+ newElementController.GoForwardRequested += OnGoForwardRequested;
Control.DataContext = e.NewElement;
}
@@ -110,7 +114,7 @@ namespace Xamarin.Forms.Platform.WinPhone
async Task SaveToIsoStore(string fileName, string html)
{
IIsolatedStorageFile store = Device.PlatformServices.GetUserStoreForApplication();
- using (Stream file = await store.OpenFileAsync(fileName, FileMode.CreateNew, FileAccess.Write).ConfigureAwait(false))
+ using (Stream file = await store.OpenFileAsync(fileName, Internals.FileMode.CreateNew, Internals.FileAccess.Write).ConfigureAwait(false))
{
byte[] bytes = Encoding.UTF8.GetBytes(html);
await file.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false);
@@ -123,7 +127,7 @@ namespace Xamarin.Forms.Platform.WinPhone
((IElementController)Element).SetValueFromRenderer(WebView.SourceProperty, source);
_updating = false;
- Element.SendNavigated(new WebNavigatedEventArgs(evnt, source, source.Url, result));
+ ElementController.SendNavigated(new WebNavigatedEventArgs(evnt, source, source.Url, result));
UpdateCanGoBackForward();
_eventState = WebNavigationEvent.NewPage;
@@ -132,8 +136,8 @@ namespace Xamarin.Forms.Platform.WinPhone
// Nasty hack because we cant bind this because OneWayToSource isn't a thing in WP8, yay
void UpdateCanGoBackForward()
{
- Element.CanGoBack = Control.CanGoBack;
- Element.CanGoForward = Control.CanGoForward;
+ ElementController.CanGoBack = Control.CanGoBack;
+ ElementController.CanGoForward = Control.CanGoForward;
}
void WebBrowserOnNavigated(object sender, System.Windows.Navigation.NavigationEventArgs navigationEventArgs)
@@ -149,7 +153,7 @@ namespace Xamarin.Forms.Platform.WinPhone
string url = navigatingEventArgs.Uri.IsAbsoluteUri ? navigatingEventArgs.Uri.AbsoluteUri : navigatingEventArgs.Uri.OriginalString;
var args = new WebNavigatingEventArgs(_eventState, new UrlWebViewSource { Url = url }, url);
- Element.SendNavigating(args);
+ ElementController.SendNavigating(args);
navigatingEventArgs.Cancel = args.Cancel;
diff --git a/Xamarin.Forms.Platform.WinRT.Phone/Forms.cs b/Xamarin.Forms.Platform.WinRT.Phone/Forms.cs
index bc91936a9..ded59acfe 100644
--- a/Xamarin.Forms.Platform.WinRT.Phone/Forms.cs
+++ b/Xamarin.Forms.Platform.WinRT.Phone/Forms.cs
@@ -19,7 +19,7 @@ namespace Xamarin.Forms
return;
var accent = (SolidColorBrush)Windows.UI.Xaml.Application.Current.Resources["SystemColorControlAccentBrush"];
- Color.Accent = Color.FromRgba (accent.Color.R, accent.Color.G, accent.Color.B, accent.Color.A);
+ Color.SetAccent(Color.FromRgba (accent.Color.R, accent.Color.G, accent.Color.B, accent.Color.A));
Log.Listeners.Add (new DelegateLogListener ((c, m) => Debug.WriteLine (LogFormat, c, m)));
@@ -27,9 +27,9 @@ namespace Xamarin.Forms
Device.PlatformServices = new WindowsPhonePlatformServices (Window.Current.Dispatcher);
Device.Info = new WindowsDeviceInfo();
- Device.Idiom = TargetIdiom.Phone;
+ Device.SetIdiom(TargetIdiom.Phone);
- Ticker.Default = new WindowsTicker();
+ Ticker.SetDefault(new WindowsTicker());
ExpressionSearch.Default = new WindowsExpressionSearch();
diff --git a/Xamarin.Forms.Platform.WinRT.Phone/WindowsPhoneResourcesProvider.cs b/Xamarin.Forms.Platform.WinRT.Phone/WindowsPhoneResourcesProvider.cs
index 7b05159ca..3ef9b90aa 100644
--- a/Xamarin.Forms.Platform.WinRT.Phone/WindowsPhoneResourcesProvider.cs
+++ b/Xamarin.Forms.Platform.WinRT.Phone/WindowsPhoneResourcesProvider.cs
@@ -1,6 +1,7 @@
using Windows.UI.Text;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
+using Xamarin.Forms.Internals;
using WStyle = Windows.UI.Xaml.Style;
namespace Xamarin.Forms.Platform.WinRT
diff --git a/Xamarin.Forms.Platform.WinRT.Tablet/Forms.cs b/Xamarin.Forms.Platform.WinRT.Tablet/Forms.cs
index 2f6390995..3072ad08a 100644
--- a/Xamarin.Forms.Platform.WinRT.Tablet/Forms.cs
+++ b/Xamarin.Forms.Platform.WinRT.Tablet/Forms.cs
@@ -8,6 +8,7 @@ using Windows.Foundation.Metadata;
using Windows.UI.Core;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
using Xamarin.Forms.Platform.UWP;
@@ -34,13 +35,13 @@ namespace Xamarin.Forms
return;
var accent = (SolidColorBrush)Windows.UI.Xaml.Application.Current.Resources["SystemColorControlAccentBrush"];
- Color.Accent = Color.FromRgba(accent.Color.R, accent.Color.G, accent.Color.B, accent.Color.A);
+ Color.SetAccent(Color.FromRgba(accent.Color.R, accent.Color.G, accent.Color.B, accent.Color.A));
Log.Listeners.Add(new DelegateLogListener((c, m) => Debug.WriteLine(LogFormat, c, m)));
Windows.UI.Xaml.Application.Current.Resources.MergedDictionaries.Add(GetTabletResources());
- Device.Idiom = TargetIdiom.Tablet;
+ Device.SetIdiom(TargetIdiom.Tablet);
Device.PlatformServices = new WindowsPlatformServices(Window.Current.Dispatcher);
Device.Info = new WindowsDeviceInfo();
@@ -48,13 +49,13 @@ namespace Xamarin.Forms
switch (DetectPlatform())
{
case Windows.Foundation.Metadata.Platform.Windows:
- Device.Idiom = TargetIdiom.Desktop;
+ Device.SetIdiom(TargetIdiom.Desktop);
break;
case Windows.Foundation.Metadata.Platform.WindowsPhone:
- Device.Idiom = TargetIdiom.Phone;
+ Device.SetIdiom(TargetIdiom.Phone);
break;
default:
- Device.Idiom = TargetIdiom.Tablet;
+ Device.SetIdiom(TargetIdiom.Tablet);
break;
}
#endif
diff --git a/Xamarin.Forms.Platform.WinRT.Tablet/WindowsResourcesProvider.cs b/Xamarin.Forms.Platform.WinRT.Tablet/WindowsResourcesProvider.cs
index c44856794..7d6ea8ba6 100644
--- a/Xamarin.Forms.Platform.WinRT.Tablet/WindowsResourcesProvider.cs
+++ b/Xamarin.Forms.Platform.WinRT.Tablet/WindowsResourcesProvider.cs
@@ -1,6 +1,7 @@
using Windows.UI.Text;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
+using Xamarin.Forms.Internals;
using WStyle = Windows.UI.Xaml.Style;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/ButtonRenderer.cs b/Xamarin.Forms.Platform.WinRT/ButtonRenderer.cs
index acc41db3f..1b3960e08 100644
--- a/Xamarin.Forms.Platform.WinRT/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/ButtonRenderer.cs
@@ -155,7 +155,7 @@ namespace Xamarin.Forms.Platform.WinRT
bmp.ImageOpened += (sender, args) => {
image.Width = bmp.PixelWidth;
image.Height = bmp.PixelHeight;
- Element.InvalidateMeasureInternal(InvalidationTrigger.RendererReady);
+ Element.InvalidateMeasureNonVirtual(InvalidationTrigger.RendererReady);
};
// No text, just the image
diff --git a/Xamarin.Forms.Platform.WinRT/EditorRenderer.cs b/Xamarin.Forms.Platform.WinRT/EditorRenderer.cs
index c69debd22..e67b9d91f 100644
--- a/Xamarin.Forms.Platform.WinRT/EditorRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/EditorRenderer.cs
@@ -2,6 +2,7 @@
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/EntryRenderer.cs b/Xamarin.Forms.Platform.WinRT/EntryRenderer.cs
index c6e439ea9..a02b11ccf 100644
--- a/Xamarin.Forms.Platform.WinRT/EntryRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/EntryRenderer.cs
@@ -5,6 +5,7 @@ using Windows.Foundation.Metadata;
using Windows.System;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/FontExtensions.cs b/Xamarin.Forms.Platform.WinRT/FontExtensions.cs
index 069a99755..bdd727758 100644
--- a/Xamarin.Forms.Platform.WinRT/FontExtensions.cs
+++ b/Xamarin.Forms.Platform.WinRT/FontExtensions.cs
@@ -3,6 +3,7 @@ using Windows.UI.Text;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Documents;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
using WApplication = Windows.UI.Xaml.Application;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/FrameworkElementExtensions.cs b/Xamarin.Forms.Platform.WinRT/FrameworkElementExtensions.cs
index 6affa169a..a16c63453 100644
--- a/Xamarin.Forms.Platform.WinRT/FrameworkElementExtensions.cs
+++ b/Xamarin.Forms.Platform.WinRT/FrameworkElementExtensions.cs
@@ -6,6 +6,7 @@ using System.Reflection;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
using WBinding = Windows.UI.Xaml.Data.Binding;
using WBindingExpression = Windows.UI.Xaml.Data.BindingExpression;
@@ -117,7 +118,7 @@ namespace Xamarin.Forms.Platform.WinRT
DependencyProperty foregroundProperty;
if (!ForegroundProperties.Value.TryGetValue(type, out foregroundProperty))
{
- FieldInfo field = type.GetFields().FirstOrDefault(f => f.Name == "ForegroundProperty");
+ FieldInfo field = ReflectionExtensions.GetFields(type).FirstOrDefault(f => f.Name == "ForegroundProperty");
if (field == null)
throw new ArgumentException("type is not a Foregroundable type");
diff --git a/Xamarin.Forms.Platform.WinRT/ImageConverter.cs b/Xamarin.Forms.Platform.WinRT/ImageConverter.cs
index e111be4c8..014c479f8 100644
--- a/Xamarin.Forms.Platform.WinRT/ImageConverter.cs
+++ b/Xamarin.Forms.Platform.WinRT/ImageConverter.cs
@@ -16,7 +16,7 @@ namespace Xamarin.Forms.Platform.WinRT
var source = (ImageSource)value;
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
Task task = handler.LoadImageAsync(source);
return new AsyncValue(task, null);
diff --git a/Xamarin.Forms.Platform.WinRT/NativeBindingExtensions.cs b/Xamarin.Forms.Platform.WinRT/NativeBindingExtensions.cs
index cc88c87e4..a3c9261f4 100644
--- a/Xamarin.Forms.Platform.WinRT/NativeBindingExtensions.cs
+++ b/Xamarin.Forms.Platform.WinRT/NativeBindingExtensions.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using Windows.UI.Xaml;
+using Xamarin.Forms.Internals;
using static System.String;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/NativeEventWrapper.cs b/Xamarin.Forms.Platform.WinRT/NativeEventWrapper.cs
index e28ca0eb4..d810d79a0 100644
--- a/Xamarin.Forms.Platform.WinRT/NativeEventWrapper.cs
+++ b/Xamarin.Forms.Platform.WinRT/NativeEventWrapper.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.UI.Xaml;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
namespace Xamarin.Forms.Platform.UWP
diff --git a/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs b/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs
index 432b1d4f9..a7aa16f0a 100644
--- a/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/PickerRenderer.cs
@@ -53,7 +53,7 @@ namespace Xamarin.Forms.Platform.WinRT
Control.Loaded += ControlOnLoaded;
}
- Control.ItemsSource = ((Picker.LockableObservableListWrapper)Element.Items)._list;
+ Control.ItemsSource = ((LockableObservableListWrapper)Element.Items)._list;
UpdateTitle();
UpdateSelectedIndex();
diff --git a/Xamarin.Forms.Platform.WinRT/PlatformWinRT.cs b/Xamarin.Forms.Platform.WinRT/PlatformWinRT.cs
index 5e11c8d8a..df43345ba 100644
--- a/Xamarin.Forms.Platform.WinRT/PlatformWinRT.cs
+++ b/Xamarin.Forms.Platform.WinRT/PlatformWinRT.cs
@@ -7,6 +7,7 @@ using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Media.Animation;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinRT
{
diff --git a/Xamarin.Forms.Platform.WinRT/UriImageSourceHandler.cs b/Xamarin.Forms.Platform.WinRT/UriImageSourceHandler.cs
index 1263c3556..9050c6e72 100644
--- a/Xamarin.Forms.Platform.WinRT/UriImageSourceHandler.cs
+++ b/Xamarin.Forms.Platform.WinRT/UriImageSourceHandler.cs
@@ -5,6 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using Windows.Storage.Streams;
using Windows.UI.Xaml.Media.Imaging;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/VisualElementRenderer.cs b/Xamarin.Forms.Platform.WinRT/VisualElementRenderer.cs
index 402d1da84..9c3a4c94d 100644
--- a/Xamarin.Forms.Platform.WinRT/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/VisualElementRenderer.cs
@@ -309,8 +309,8 @@ namespace Xamarin.Forms.Platform.WinRT
protected virtual void OnRegisterEffect(PlatformEffect effect)
{
- effect.Container = this;
- effect.Control = Control;
+ effect.SetContainer(this);
+ effect.SetControl(Control);
}
protected virtual void SetAutomationId(string id)
diff --git a/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs b/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
index 760b9b303..e8684ff48 100644
--- a/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.WinRT/VisualElementTracker.cs
@@ -7,6 +7,7 @@ using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs b/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
index e3fcb898d..c768bb5fa 100644
--- a/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
@@ -31,6 +31,7 @@ var bases = head.getElementsByTagName('base');
if(bases.length == 0){
head.innerHTML = 'baseTag' + head.innerHTML;
}";
+ IWebViewController ElementController => Element;
public void LoadHtml(string html, string baseUrl)
{
@@ -98,9 +99,10 @@ if(bases.length == 0){
if (e.OldElement != null)
{
- e.OldElement.EvalRequested -= OnEvalRequested;
- e.OldElement.GoBackRequested -= OnGoBackRequested;
- e.OldElement.GoForwardRequested -= OnGoForwardRequested;
+ var oldElementController = e.OldElement as IWebViewController;
+ oldElementController.EvalRequested -= OnEvalRequested;
+ oldElementController.GoBackRequested -= OnGoBackRequested;
+ oldElementController.GoForwardRequested -= OnGoForwardRequested;
}
if (e.NewElement != null)
@@ -114,9 +116,10 @@ if(bases.length == 0){
SetNativeControl(webView);
}
- e.NewElement.EvalRequested += OnEvalRequested;
- e.NewElement.GoForwardRequested += OnGoForwardRequested;
- e.NewElement.GoBackRequested += OnGoBackRequested;
+ var newElementController = e.NewElement as IWebViewController;
+ newElementController.EvalRequested += OnEvalRequested;
+ newElementController.GoForwardRequested += OnGoForwardRequested;
+ newElementController.GoBackRequested += OnGoBackRequested;
Load();
}
@@ -190,7 +193,7 @@ if(bases.length == 0){
{
var args = new WebNavigatingEventArgs(_eventState, new UrlWebViewSource { Url = uri.AbsoluteUri }, uri.AbsoluteUri);
- Element.SendNavigating(args);
+ ElementController.SendNavigating(args);
e.Cancel = args.Cancel;
// reset in this case because this is the last event we will get
@@ -205,7 +208,7 @@ if(bases.length == 0){
((IElementController)Element).SetValueFromRenderer(WebView.SourceProperty, source);
_updating = false;
- Element.SendNavigated(new WebNavigatedEventArgs(evnt, source, source.Url, result));
+ ElementController.SendNavigated(new WebNavigatedEventArgs(evnt, source, source.Url, result));
UpdateCanGoBackForward();
_eventState = WebNavigationEvent.NewPage;
@@ -213,8 +216,8 @@ if(bases.length == 0){
void UpdateCanGoBackForward()
{
- Element.CanGoBack = Control.CanGoBack;
- Element.CanGoForward = Control.CanGoForward;
+ ElementController.CanGoBack = Control.CanGoBack;
+ ElementController.CanGoForward = Control.CanGoForward;
}
}
}
\ No newline at end of file
diff --git a/Xamarin.Forms.Platform.WinRT/WindowsBasePage.cs b/Xamarin.Forms.Platform.WinRT/WindowsBasePage.cs
index e1700a853..c8b3bdafa 100644
--- a/Xamarin.Forms.Platform.WinRT/WindowsBasePage.cs
+++ b/Xamarin.Forms.Platform.WinRT/WindowsBasePage.cs
@@ -30,7 +30,7 @@ namespace Xamarin.Forms.Platform.WinRT
if (application == null)
throw new ArgumentNullException("application");
- Application.Current = application;
+ Application.SetCurrentApplication(application);
Platform = CreatePlatform();
Platform.SetPage(Application.Current.MainPage);
application.PropertyChanged += OnApplicationPropertyChanged;
diff --git a/Xamarin.Forms.Platform.WinRT/WindowsDeviceInfo.cs b/Xamarin.Forms.Platform.WinRT/WindowsDeviceInfo.cs
index 235fe2db3..07cb847fb 100644
--- a/Xamarin.Forms.Platform.WinRT/WindowsDeviceInfo.cs
+++ b/Xamarin.Forms.Platform.WinRT/WindowsDeviceInfo.cs
@@ -2,6 +2,7 @@
using Windows.Foundation;
using Windows.Graphics.Display;
using Windows.UI.Xaml;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.WinRT/WindowsExpressionSearch.cs b/Xamarin.Forms.Platform.WinRT/WindowsExpressionSearch.cs
index 778cc135b..417b23e56 100644
--- a/Xamarin.Forms.Platform.WinRT/WindowsExpressionSearch.cs
+++ b/Xamarin.Forms.Platform.WinRT/WindowsExpressionSearch.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
@@ -159,7 +160,7 @@ namespace Xamarin.Forms.Platform.WinRT
object container = ((ConstantExpression)member.Expression).Value;
object value = ((FieldInfo)member.Member).GetValue(container);
- if (_targeType.IsInstanceOfType(value))
+ if (ReflectionExtensions.IsInstanceOfType(_targeType, value))
{
_results.Add(value);
}
diff --git a/Xamarin.Forms.Platform.WinRT/WindowsIsolatedStorage.cs b/Xamarin.Forms.Platform.WinRT/WindowsIsolatedStorage.cs
index a6e48fea0..42bdc3b8d 100644
--- a/Xamarin.Forms.Platform.WinRT/WindowsIsolatedStorage.cs
+++ b/Xamarin.Forms.Platform.WinRT/WindowsIsolatedStorage.cs
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Windows.Storage;
using Windows.Storage.FileProperties;
using Windows.Storage.Streams;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
@@ -63,27 +64,27 @@ namespace Xamarin.Forms.Platform.WinRT
return properties.DateModified;
}
- public async Task OpenFileAsync(string path, FileMode mode, FileAccess access)
+ public async Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access)
{
StorageFile file;
switch (mode)
{
- case FileMode.CreateNew:
+ case Internals.FileMode.CreateNew:
file = await _folder.CreateFileAsync(path, CreationCollisionOption.FailIfExists).AsTask().ConfigureAwait(false);
break;
- case FileMode.Create:
- case FileMode.Truncate: // TODO See if ReplaceExisting already truncates
+ case Internals.FileMode.Create:
+ case Internals.FileMode.Truncate: // TODO See if ReplaceExisting already truncates
file = await _folder.CreateFileAsync(path, CreationCollisionOption.ReplaceExisting).AsTask().ConfigureAwait(false);
break;
- case FileMode.OpenOrCreate:
- case FileMode.Append:
+ case Internals.FileMode.OpenOrCreate:
+ case Internals.FileMode.Append:
file = await _folder.CreateFileAsync(path, CreationCollisionOption.OpenIfExists).AsTask().ConfigureAwait(false);
break;
- case FileMode.Open:
+ case Internals.FileMode.Open:
file = await _folder.GetFileAsync(path);
break;
@@ -93,16 +94,16 @@ namespace Xamarin.Forms.Platform.WinRT
switch (access)
{
- case FileAccess.Read:
+ case Internals.FileAccess.Read:
return await file.OpenStreamForReadAsync().ConfigureAwait(false);
- case FileAccess.Write:
+ case Internals.FileAccess.Write:
Stream stream = await file.OpenStreamForWriteAsync().ConfigureAwait(false);
- if (mode == FileMode.Append)
+ if (mode == Internals.FileMode.Append)
stream.Position = stream.Length;
return stream;
- case FileAccess.ReadWrite:
+ case Internals.FileAccess.ReadWrite:
IRandomAccessStream randStream = await file.OpenAsync(FileAccessMode.ReadWrite).AsTask().ConfigureAwait(false);
return randStream.AsStream();
@@ -111,7 +112,7 @@ namespace Xamarin.Forms.Platform.WinRT
}
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access, FileShare share)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access, Internals.FileShare share)
{
return OpenFileAsync(path, mode, access);
}
diff --git a/Xamarin.Forms.Platform.WinRT/WindowsSerializer.cs b/Xamarin.Forms.Platform.WinRT/WindowsSerializer.cs
index 0eeb2f8f9..834483d9e 100644
--- a/Xamarin.Forms.Platform.WinRT/WindowsSerializer.cs
+++ b/Xamarin.Forms.Platform.WinRT/WindowsSerializer.cs
@@ -5,6 +5,7 @@ using System.IO;
using System.Runtime.Serialization;
using System.Threading.Tasks;
using Windows.Storage;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
diff --git a/Xamarin.Forms.Platform.iOS/Cells/CellTableViewCell.cs b/Xamarin.Forms.Platform.iOS/Cells/CellTableViewCell.cs
index b42f69f48..2c0ffb43c 100644
--- a/Xamarin.Forms.Platform.iOS/Cells/CellTableViewCell.cs
+++ b/Xamarin.Forms.Platform.iOS/Cells/CellTableViewCell.cs
@@ -47,7 +47,7 @@ namespace Xamarin.Forms.Platform.iOS
{
var id = cell.GetType().FullName;
- var renderer = (CellRenderer)Registrar.Registered.GetHandler(cell.GetType());
+ var renderer = (CellRenderer)Internals.Registrar.Registered.GetHandler(cell.GetType());
ContextActionsCell contextCell = null;
UITableViewCell reusableCell = null;
diff --git a/Xamarin.Forms.Platform.iOS/Cells/ImageCellRenderer.cs b/Xamarin.Forms.Platform.iOS/Cells/ImageCellRenderer.cs
index 38aae3756..d78a16316 100644
--- a/Xamarin.Forms.Platform.iOS/Cells/ImageCellRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Cells/ImageCellRenderer.cs
@@ -39,7 +39,7 @@ namespace Xamarin.Forms.Platform.iOS
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
UIImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
index 697608fe4..3957feba6 100644
--- a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs
@@ -167,7 +167,7 @@ namespace Xamarin.Forms.Platform.iOS
if (renderer.Element != null && renderer == Platform.GetRenderer(renderer.Element))
renderer.Element.ClearValue(Platform.RendererProperty);
- var type = Registrar.Registered.GetHandlerType(_viewCell.View.GetType());
+ var type = Internals.Registrar.Registered.GetHandlerType(_viewCell.View.GetType());
if (renderer.GetType() == type || (renderer is Platform.DefaultRenderer && type == null))
renderer.SetElement(_viewCell.View);
else
diff --git a/Xamarin.Forms.Platform.iOS/Deserializer.cs b/Xamarin.Forms.Platform.iOS/Deserializer.cs
index dcef049ce..5fc19f4fe 100644
--- a/Xamarin.Forms.Platform.iOS/Deserializer.cs
+++ b/Xamarin.Forms.Platform.iOS/Deserializer.cs
@@ -5,6 +5,7 @@ using System.IO.IsolatedStorage;
using System.Runtime.Serialization;
using System.Threading.Tasks;
using System.Xml;
+using Xamarin.Forms.Internals;
#if __MOBILE__
namespace Xamarin.Forms.Platform.iOS
diff --git a/Xamarin.Forms.Platform.iOS/EventTracker.cs b/Xamarin.Forms.Platform.iOS/EventTracker.cs
index 596506a54..8fe1d1d20 100644
--- a/Xamarin.Forms.Platform.iOS/EventTracker.cs
+++ b/Xamarin.Forms.Platform.iOS/EventTracker.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Linq;
+using Xamarin.Forms.Internals;
#if __MOBILE__
using UIKit;
diff --git a/Xamarin.Forms.Platform.iOS/Extensions/ArrayExtensions.cs b/Xamarin.Forms.Platform.iOS/Extensions/ArrayExtensions.cs
index 9adafecba..ac770084e 100644
--- a/Xamarin.Forms.Platform.iOS/Extensions/ArrayExtensions.cs
+++ b/Xamarin.Forms.Platform.iOS/Extensions/ArrayExtensions.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.iOS
{
diff --git a/Xamarin.Forms.Platform.iOS/Extensions/Extensions.cs b/Xamarin.Forms.Platform.iOS/Extensions/Extensions.cs
index 3b24c1a88..1aa4d36ce 100644
--- a/Xamarin.Forms.Platform.iOS/Extensions/Extensions.cs
+++ b/Xamarin.Forms.Platform.iOS/Extensions/Extensions.cs
@@ -1,4 +1,5 @@
using UIKit;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.iOS
{
diff --git a/Xamarin.Forms.Platform.iOS/Extensions/UIViewExtensions.cs b/Xamarin.Forms.Platform.iOS/Extensions/UIViewExtensions.cs
index 8248af11e..a6419729d 100644
--- a/Xamarin.Forms.Platform.iOS/Extensions/UIViewExtensions.cs
+++ b/Xamarin.Forms.Platform.iOS/Extensions/UIViewExtensions.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using static System.String;
+using Xamarin.Forms.Internals;
#if __MOBILE__
using UIKit;
namespace Xamarin.Forms.Platform.iOS
diff --git a/Xamarin.Forms.Platform.iOS/Forms.cs b/Xamarin.Forms.Platform.iOS/Forms.cs
index d6589624d..f2ba923f4 100644
--- a/Xamarin.Forms.Platform.iOS/Forms.cs
+++ b/Xamarin.Forms.Platform.iOS/Forms.cs
@@ -71,19 +71,19 @@ namespace Xamarin.Forms
if (IsInitialized)
return;
IsInitialized = true;
- Color.Accent = Color.FromRgba(50, 79, 133, 255);
+ Color.SetAccent(Color.FromRgba(50, 79, 133, 255));
Log.Listeners.Add(new DelegateLogListener((c, m) => Trace.WriteLine(m, c)));
#if __MOBILE__
- Device.Idiom = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad ? TargetIdiom.Tablet : TargetIdiom.Phone;
+ Device.SetIdiom(UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad ? TargetIdiom.Tablet : TargetIdiom.Phone);
#else
- Device.Idiom = TargetIdiom.Desktop;
+ Device.SetIdiom(TargetIdiom.Desktop);
#endif
Device.PlatformServices = new IOSPlatformServices();
Device.Info = new IOSDeviceInfo();
- Registrar.RegisterAll(new[]
+ Internals.Registrar.RegisterAll(new[]
{ typeof(ExportRendererAttribute), typeof(ExportCellAttribute), typeof(ExportImageSourceHandlerAttribute) });
ExpressionSearch.Default = new iOSExpressionSearch();
}
@@ -306,13 +306,13 @@ namespace Xamarin.Forms
return Task.FromResult(_isolatedStorageFile.GetLastWriteTime(path));
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access);
return Task.FromResult(stream);
}
- public Task OpenFileAsync(string path, FileMode mode, FileAccess access, FileShare share)
+ public Task OpenFileAsync(string path, Internals.FileMode mode, Internals.FileAccess access, Internals.FileShare share)
{
Stream stream = _isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access,
(System.IO.FileShare)share);
diff --git a/Xamarin.Forms.Platform.iOS/FormsApplicationDelegate.cs b/Xamarin.Forms.Platform.iOS/FormsApplicationDelegate.cs
index da51718cd..a4ffd895d 100644
--- a/Xamarin.Forms.Platform.iOS/FormsApplicationDelegate.cs
+++ b/Xamarin.Forms.Platform.iOS/FormsApplicationDelegate.cs
@@ -117,7 +117,7 @@ namespace Xamarin.Forms.Platform.iOS
if (application == null)
throw new ArgumentNullException("application");
- Application.Current = application;
+ Application.SetCurrentApplication(application);
_application = application;
(application as IApplicationController)?.SetAppIndexingProvider(new IOSAppIndexingProvider());
diff --git a/Xamarin.Forms.Platform.iOS/NativeBindingService.cs b/Xamarin.Forms.Platform.iOS/NativeBindingService.cs
index 3756e2f0b..b19fdb14d 100644
--- a/Xamarin.Forms.Platform.iOS/NativeBindingService.cs
+++ b/Xamarin.Forms.Platform.iOS/NativeBindingService.cs
@@ -1,11 +1,12 @@
using System;
using UIKit;
+using Xamarin.Forms.Xaml.Internals;
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.iOS.NativeBindingService))]
namespace Xamarin.Forms.Platform.iOS
{
- class NativeBindingService : Xaml.INativeBindingService
+ class NativeBindingService : INativeBindingService
{
public bool TrySetBinding(object target, string propertyName, BindingBase binding)
{
diff --git a/Xamarin.Forms.Platform.iOS/NativeValueConverterService.cs b/Xamarin.Forms.Platform.iOS/NativeValueConverterService.cs
index acdd65230..d2ead7868 100644
--- a/Xamarin.Forms.Platform.iOS/NativeValueConverterService.cs
+++ b/Xamarin.Forms.Platform.iOS/NativeValueConverterService.cs
@@ -1,6 +1,9 @@
using System;
+using Xamarin.Forms.Xaml.Internals;
+using Xamarin.Forms.Internals;
#if __MOBILE__
using UIKit;
+
[assembly: Xamarin.Forms.Dependency(typeof(Xamarin.Forms.Platform.iOS.NativeValueConverterService))]
namespace Xamarin.Forms.Platform.iOS
#else
@@ -11,7 +14,7 @@ using UIView = AppKit.NSView;
namespace Xamarin.Forms.Platform.MacOS
#endif
{
- class NativeValueConverterService : Xaml.INativeValueConverterService
+ class NativeValueConverterService : INativeValueConverterService
{
public bool ConvertTo(object value, Type toType, out object nativeValue)
{
diff --git a/Xamarin.Forms.Platform.iOS/Platform.cs b/Xamarin.Forms.Platform.iOS/Platform.cs
index 586892f7e..a629d6761 100644
--- a/Xamarin.Forms.Platform.iOS/Platform.cs
+++ b/Xamarin.Forms.Platform.iOS/Platform.cs
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
using Foundation;
using UIKit;
using RectangleF = CoreGraphics.CGRect;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.iOS
{
@@ -188,7 +189,7 @@ namespace Xamarin.Forms.Platform.iOS
public static IVisualElementRenderer CreateRenderer(VisualElement element)
{
var t = element.GetType();
- var renderer = Registrar.Registered.GetHandler(t) ?? new DefaultRenderer();
+ var renderer = Internals.Registrar.Registered.GetHandler(t) ?? new DefaultRenderer();
renderer.SetElement(element);
return renderer;
}
diff --git a/Xamarin.Forms.Platform.iOS/RendererPool.cs b/Xamarin.Forms.Platform.iOS/RendererPool.cs
index 38fe3c029..7c7e44582 100644
--- a/Xamarin.Forms.Platform.iOS/RendererPool.cs
+++ b/Xamarin.Forms.Platform.iOS/RendererPool.cs
@@ -34,7 +34,7 @@ namespace Xamarin.Forms.Platform.MacOS
if (view == null)
throw new ArgumentNullException("view");
- var rendererType = Registrar.Registered.GetHandlerType(view.GetType()) ?? typeof(ViewRenderer);
+ var rendererType = Internals.Registrar.Registered.GetHandlerType(view.GetType()) ?? typeof(ViewRenderer);
Stack renderers;
if (!_freeRenderers.TryGetValue(rendererType, out renderers) || renderers.Count == 0)
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/ButtonRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/ButtonRenderer.cs
index 5eb9b777b..dbdcb2411 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/ButtonRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/ButtonRenderer.cs
@@ -137,7 +137,7 @@ namespace Xamarin.Forms.Platform.iOS
{
IImageSourceHandler handler;
FileImageSource source = Element.Image;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
UIImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/FontExtensions.cs b/Xamarin.Forms.Platform.iOS/Renderers/FontExtensions.cs
index ba8acbe53..2ddd11c8f 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/FontExtensions.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/FontExtensions.cs
@@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Xamarin.Forms;
+using Xamarin.Forms.Internals;
#if __MOBILE__
using UIKit;
namespace Xamarin.Forms.Platform.iOS
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/FormattedStringExtensions.cs b/Xamarin.Forms.Platform.iOS/Renderers/FormattedStringExtensions.cs
index 825a20bd1..446cc95ef 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/FormattedStringExtensions.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/FormattedStringExtensions.cs
@@ -1,6 +1,8 @@
using Foundation;
+using Xamarin.Forms.Internals;
#if __MOBILE__
using UIKit;
+
namespace Xamarin.Forms.Platform.iOS
#else
using AppKit;
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/ImageRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/ImageRenderer.cs
index 6f6392b1b..760a714b7 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/ImageRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/ImageRenderer.cs
@@ -108,7 +108,7 @@ namespace Xamarin.Forms.Platform.iOS
((IImageController)Element).SetIsLoading(true);
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
UIImage uiimage;
try
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/ListViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/ListViewRenderer.cs
index be95731b5..b4333c630 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/ListViewRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/ListViewRenderer.cs
@@ -403,7 +403,7 @@ namespace Xamarin.Forms.Platform.iOS
if (_footerRenderer != null)
{
_footerRenderer.Element.MeasureInvalidated -= OnFooterMeasureInvalidated;
- if (footer != null && _footerRenderer.GetType() == Registrar.Registered.GetHandlerType(footer.GetType()))
+ if (footer != null && _footerRenderer.GetType() == Internals.Registrar.Registered.GetHandlerType(footer.GetType()))
{
_footerRenderer.SetElement(footerView);
return;
@@ -449,7 +449,7 @@ namespace Xamarin.Forms.Platform.iOS
if (_headerRenderer != null)
{
_headerRenderer.Element.MeasureInvalidated -= OnHeaderMeasureInvalidated;
- if (header != null && _headerRenderer.GetType() == Registrar.Registered.GetHandlerType(header.GetType()))
+ if (header != null && _headerRenderer.GetType() == Internals.Registrar.Registered.GetHandlerType(header.GetType()))
{
_headerRenderer.SetElement(headerView);
return;
@@ -839,7 +839,7 @@ namespace Xamarin.Forms.Platform.iOS
if (cell.HasContextActions)
throw new NotSupportedException("Header cells do not support context actions");
- var renderer = (CellRenderer)Registrar.Registered.GetHandler(cell.GetType());
+ var renderer = (CellRenderer)Internals.Registrar.Registered.GetHandler(cell.GetType());
var view = new HeaderWrapperView();
view.AddSubview(renderer.GetCell(cell, null, tableView));
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/NavigationMenuRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/NavigationMenuRenderer.cs
index 2ea8a008f..11a8558fe 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/NavigationMenuRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/NavigationMenuRenderer.cs
@@ -4,6 +4,7 @@ using Foundation;
using UIKit;
using RectangleF = CoreGraphics.CGRect;
using SizeF = CoreGraphics.CGSize;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.iOS
{
@@ -109,6 +110,8 @@ namespace Xamarin.Forms.Platform.iOS
_menu = menu;
}
+ INavigationMenuController MenuController => _menu;
+
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
{
var cell = (NavigationCell)collectionView.DequeueReusableCell(new NSString("NavigationCell"), indexPath);
@@ -118,7 +121,7 @@ namespace Xamarin.Forms.Platform.iOS
{
cell.Name = target.Title;
cell.Icon = target.Icon;
- cell.Selected = () => _menu.SendTargetSelected(target);
+ cell.Selected = () => MenuController.SendTargetSelected(target);
}
else
{
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs
index 1c7730e8b..2b702fde1 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using Xamarin.Forms.Internals;
using UIKit;
using PageUIStatusBarAnimation = Xamarin.Forms.PlatformConfiguration.iOSSpecific.UIStatusBarAnimation;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs
index c9c24ad6d..244edfaf5 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs
@@ -1,5 +1,6 @@
using System;
using System.ComponentModel;
+using Xamarin.Forms.Internals;
using UIKit;
using PointF = CoreGraphics.CGPoint;
using RectangleF = CoreGraphics.CGRect;
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/TableViewModelRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/TableViewModelRenderer.cs
index b8a6fc95d..060b9d205 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/TableViewModelRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/TableViewModelRenderer.cs
@@ -58,7 +58,7 @@ namespace Xamarin.Forms.Platform.iOS
{
var reusable = tableView.DequeueReusableCell(result.GetType().FullName);
- var cellRenderer = Registrar.Registered.GetHandler(result.GetType());
+ var cellRenderer = Internals.Registrar.Registered.GetHandler(result.GetType());
return cellRenderer.GetCell(result, reusable, Table);
}
return null;
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
index 390e16d2b..c54c0c967 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
@@ -20,6 +20,8 @@ namespace Xamarin.Forms.Platform.iOS
{
}
+ IWebViewController ElementController => Element as IWebViewController;
+
public VisualElement Element { get; private set; }
public event EventHandler ElementChanged;
@@ -34,9 +36,9 @@ namespace Xamarin.Forms.Platform.iOS
var oldElement = Element;
Element = element;
Element.PropertyChanged += HandlePropertyChanged;
- ((WebView)Element).EvalRequested += OnEvalRequested;
- ((WebView)Element).GoBackRequested += OnGoBackRequested;
- ((WebView)Element).GoForwardRequested += OnGoForwardRequested;
+ ElementController.EvalRequested += OnEvalRequested;
+ ElementController.GoBackRequested += OnGoBackRequested;
+ ElementController.GoForwardRequested += OnGoForwardRequested;
Delegate = new CustomWebViewDelegate(this);
BackgroundColor = UIColor.Clear;
@@ -96,9 +98,9 @@ namespace Xamarin.Forms.Platform.iOS
StopLoading();
Element.PropertyChanged -= HandlePropertyChanged;
- ((WebView)Element).EvalRequested -= OnEvalRequested;
- ((WebView)Element).GoBackRequested -= OnGoBackRequested;
- ((WebView)Element).GoForwardRequested -= OnGoForwardRequested;
+ ElementController.EvalRequested -= OnEvalRequested;
+ ElementController.GoBackRequested -= OnGoBackRequested;
+ ElementController.GoForwardRequested -= OnGoForwardRequested;
_tracker?.Dispose();
_packager?.Dispose();
@@ -160,8 +162,8 @@ namespace Xamarin.Forms.Platform.iOS
void UpdateCanGoBackForward()
{
- ((WebView)Element).CanGoBack = CanGoBack;
- ((WebView)Element).CanGoForward = CanGoForward;
+ ElementController.CanGoBack = CanGoBack;
+ ElementController.CanGoForward = CanGoForward;
}
class CustomWebViewDelegate : UIWebViewDelegate
@@ -176,6 +178,8 @@ namespace Xamarin.Forms.Platform.iOS
_renderer = renderer;
}
+ IWebViewController WebViewController => WebView;
+
WebView WebView
{
get { return (WebView)_renderer.Element; }
@@ -184,7 +188,7 @@ namespace Xamarin.Forms.Platform.iOS
public override void LoadFailed(UIWebView webView, NSError error)
{
var url = GetCurrentUrl();
- WebView.SendNavigated(new WebNavigatedEventArgs(_lastEvent, new UrlWebViewSource { Url = url }, url, WebNavigationResult.Failure));
+ WebViewController.SendNavigated(new WebNavigatedEventArgs(_lastEvent, new UrlWebViewSource { Url = url }, url, WebNavigationResult.Failure));
_renderer.UpdateCanGoBackForward();
}
@@ -200,7 +204,7 @@ namespace Xamarin.Forms.Platform.iOS
_renderer._ignoreSourceChanges = false;
var args = new WebNavigatedEventArgs(_lastEvent, WebView.Source, url, WebNavigationResult.Success);
- WebView.SendNavigated(args);
+ WebViewController.SendNavigated(args);
_renderer.UpdateCanGoBackForward();
}
@@ -238,7 +242,7 @@ namespace Xamarin.Forms.Platform.iOS
var lastUrl = request.Url.ToString();
var args = new WebNavigatingEventArgs(navEvent, new UrlWebViewSource { Url = lastUrl }, lastUrl);
- WebView.SendNavigating(args);
+ WebViewController.SendNavigating(args);
_renderer.UpdateCanGoBackForward();
return !args.Cancel;
}
diff --git a/Xamarin.Forms.Platform.iOS/ResourcesProvider.cs b/Xamarin.Forms.Platform.iOS/ResourcesProvider.cs
index f02655a0d..0bccc603b 100644
--- a/Xamarin.Forms.Platform.iOS/ResourcesProvider.cs
+++ b/Xamarin.Forms.Platform.iOS/ResourcesProvider.cs
@@ -1,9 +1,12 @@
#if __MOBILE__
using UIKit;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.iOS
#else
+using Xamarin.Forms.Internals;
+
namespace Xamarin.Forms.Platform.MacOS
#endif
{
diff --git a/Xamarin.Forms.Platform.iOS/ViewRenderer.cs b/Xamarin.Forms.Platform.iOS/ViewRenderer.cs
index 8a433c91a..a785fb0ff 100644
--- a/Xamarin.Forms.Platform.iOS/ViewRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/ViewRenderer.cs
@@ -114,7 +114,7 @@ namespace Xamarin.Forms.Platform.MacOS
protected override void OnRegisterEffect(PlatformEffect effect)
{
base.OnRegisterEffect(effect);
- effect.Control = Control;
+ effect.SetControl(Control);
}
#if __MOBILE__
protected override void SetAccessibilityHint()
diff --git a/Xamarin.Forms.Platform.iOS/VisualElementRenderer.cs b/Xamarin.Forms.Platform.iOS/VisualElementRenderer.cs
index 57c9ab12f..3fcb3ff13 100644
--- a/Xamarin.Forms.Platform.iOS/VisualElementRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/VisualElementRenderer.cs
@@ -105,8 +105,8 @@ namespace Xamarin.Forms.Platform.MacOS
if (platformEffect == null)
return;
- platformEffect.Container = container;
- platformEffect.Control = control;
+ platformEffect.SetContainer(container);
+ platformEffect.SetControl(control);
}
void IEffectControlProvider.RegisterEffect(Effect effect)
@@ -291,7 +291,7 @@ namespace Xamarin.Forms.Platform.MacOS
protected virtual void OnRegisterEffect(PlatformEffect effect)
{
- effect.Container = this;
+ effect.SetContainer(this);
}
#if __MOBILE__
diff --git a/Xamarin.Forms.Platform.iOS/VisualElementTracker.cs b/Xamarin.Forms.Platform.iOS/VisualElementTracker.cs
index 29840e2db..205aa1dea 100644
--- a/Xamarin.Forms.Platform.iOS/VisualElementTracker.cs
+++ b/Xamarin.Forms.Platform.iOS/VisualElementTracker.cs
@@ -3,6 +3,7 @@ using System.ComponentModel;
using System.Drawing;
using System.Threading;
using CoreAnimation;
+using Xamarin.Forms.Internals;
#if __MOBILE__
namespace Xamarin.Forms.Platform.iOS
diff --git a/Xamarin.Forms.Platform.iOS/iOSAppLinks.cs b/Xamarin.Forms.Platform.iOS/iOSAppLinks.cs
index f8771a939..1a5f7c733 100644
--- a/Xamarin.Forms.Platform.iOS/iOSAppLinks.cs
+++ b/Xamarin.Forms.Platform.iOS/iOSAppLinks.cs
@@ -109,7 +109,7 @@ namespace Xamarin.Forms.Platform.iOS
var source = deepLinkUri.Thumbnail;
IImageSourceHandler handler;
- if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null)
+ if (source != null && (handler = Internals.Registrar.Registered.GetHandler(source.GetType())) != null)
{
UIImage uiimage;
try
diff --git a/Xamarin.Forms.Xaml.UnitTests/Issues/Bz42531.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/Issues/Bz42531.xaml.cs
index 380cef6af..4ed4e7866 100644
--- a/Xamarin.Forms.Xaml.UnitTests/Issues/Bz42531.xaml.cs
+++ b/Xamarin.Forms.Xaml.UnitTests/Issues/Bz42531.xaml.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using NUnit.Framework;
using Xamarin.Forms;
using Xamarin.Forms.Core.UnitTests;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Xaml.UnitTests
{
diff --git a/Xamarin.Forms.Xaml.UnitTests/NativeViewsAndBindings.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/NativeViewsAndBindings.xaml.cs
index 39039f7a4..713e7432f 100644
--- a/Xamarin.Forms.Xaml.UnitTests/NativeViewsAndBindings.xaml.cs
+++ b/Xamarin.Forms.Xaml.UnitTests/NativeViewsAndBindings.xaml.cs
@@ -4,6 +4,8 @@ using System.ComponentModel;
using NUnit.Framework;
using Xamarin.Forms;
using Xamarin.Forms.Core.UnitTests;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Xaml.Internals;
namespace Xamarin.Forms.Xaml.UnitTests
{
diff --git a/Xamarin.Forms.Xaml/FillResourceDictionariesVisitor.cs b/Xamarin.Forms.Xaml/FillResourceDictionariesVisitor.cs
index 509d54e8b..d03682e90 100644
--- a/Xamarin.Forms.Xaml/FillResourceDictionariesVisitor.cs
+++ b/Xamarin.Forms.Xaml/FillResourceDictionariesVisitor.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Xaml.Internals;
namespace Xamarin.Forms.Xaml
diff --git a/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs b/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
index fc00d3087..16c805339 100644
--- a/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
+++ b/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.cs
@@ -1,6 +1,7 @@
using System;
using System.Reflection;
using System.Xml;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Xaml
{
diff --git a/Xamarin.Forms.Xaml/TypeConversionExtensions.cs b/Xamarin.Forms.Xaml/TypeConversionExtensions.cs
index da8e7117a..97d3a0824 100644
--- a/Xamarin.Forms.Xaml/TypeConversionExtensions.cs
+++ b/Xamarin.Forms.Xaml/TypeConversionExtensions.cs
@@ -30,6 +30,8 @@ using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Xaml.Internals;
namespace Xamarin.Forms.Xaml
{
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/ActionSheetArguments.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/ActionSheetArguments.xml
new file mode 100644
index 000000000..7dd969a8c
--- /dev/null
+++ b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/ActionSheetArguments.xml
@@ -0,0 +1,139 @@
+
+
+
+
+ Xamarin.Forms.Core
+ 2.0.0.0
+
+
+ System.Object
+
+
+
+ To be added.
+ To be added.
+
+
+
+