Xamarin.Forms
1.3.0.6280-pre2
See the version list below for details.
dotnet add package Xamarin.Forms --version 1.3.0.6280-pre2
NuGet\Install-Package Xamarin.Forms -Version 1.3.0.6280-pre2
<PackageReference Include="Xamarin.Forms" Version="1.3.0.6280-pre2" />
paket add Xamarin.Forms --version 1.3.0.6280-pre2
#r "nuget: Xamarin.Forms, 1.3.0.6280-pre2"
// Install Xamarin.Forms as a Cake Addin #addin nuget:?package=Xamarin.Forms&version=1.3.0.6280-pre2&prerelease // Install Xamarin.Forms as a Cake Tool #tool nuget:?package=Xamarin.Forms&version=1.3.0.6280-pre2&prerelease
Build native UIs for iOS, Android, and Windows Phone from a single, shared C# codebase
Product | Versions Compatible and additional computed target framework versions. |
---|---|
MonoAndroid | monoandroid10 is compatible. |
MonoTouch | monotouch10 is compatible. |
Windows Phone | wp8 is compatible. wp81 was computed. |
Xamarin.iOS | xamarinios10 is compatible. |
-
MonoAndroid 1.0
- Xamarin.Android.Support.v4 (>= 19.1.0)
-
WindowsPhone 8.0
- WPtoolkit (>= 4.2013.8.16)
GitHub repositories (320)
Showing the top 5 popular GitHub repositories that depend on Xamarin.Forms:
Repository | Stars |
---|---|
dotnet/maui
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
|
|
dotnet/BenchmarkDotNet
Powerful .NET library for benchmarking
|
|
microsoft/ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
|
|
xamarin/Xamarin.Forms
Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
|
|
mono/SkiaSharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
|
Version | Downloads | Last updated |
---|---|---|
1.4.3.6358-pre2 | 2,156 | 4/24/2015 |
1.4.3.6356-pre1 | 347 | 4/21/2015 |
1.4.2.6359 | 22,415 | 4/30/2015 |
1.4.2.6355 | 7,015 | 4/21/2015 |
1.4.2.6353-pre2 | 883 | 3/31/2015 |
1.4.2.6350-pre1 | 196 | 3/30/2015 |
1.4.1.6349 | 18,570 | 3/30/2015 |
1.4.1.6347-pre2 | 1,840 | 3/19/2015 |
1.4.1.6342-pre1 | 599 | 3/10/2015 |
1.4.0.6341 | 13,781 | 3/9/2015 |
1.4.0.6340-pre2 | 451 | 3/6/2015 |
1.4.0.6336-pre1 | 490 | 3/3/2015 |
1.3.5.6337 | 2,875 | 3/5/2015 |
1.3.5.6335 | 3,408 | 3/2/2015 |
1.3.5.6333-pre1 | 796 | 2/17/2015 |
1.3.4.6332 | 8,947 | 2/17/2015 |
1.3.4.6331-pre4 | 435 | 2/13/2015 |
1.3.4.6329-pre3 | 238 | 2/12/2015 |
1.3.4.6328-pre2 | 243 | 2/11/2015 |
1.3.4.6325-pre1 | 260 | 2/9/2015 |
1.3.3.6323 | 10,706 | 2/9/2015 |
1.3.3.6322-pre3 | 220 | 2/6/2015 |
1.3.3.6321-pre2 | 371 | 2/4/2015 |
1.3.3.6318-pre1 | 341 | 2/2/2015 |
1.3.2.6316 | 4,359 | 2/3/2015 |
1.3.2.6313-pre3 | 327 | 1/30/2015 |
1.3.2.6309-pre2 | 370 | 1/28/2015 |
1.3.2.6299-pre1 | 940 | 1/20/2015 |
1.3.1.6296 | 16,376 | 1/4/2015 |
1.3.1.6294-pre1 | 2,158 | 12/24/2014 |
1.3.0.6292 | 6,215 | 12/24/2014 |
1.3.0.6286-pre4 | 778 | 12/19/2014 |
1.3.0.6284-pre3 | 615 | 12/12/2014 |
1.3.0.6280-pre2 | 550 | 12/9/2014 |
1.3.0.6275-pre1 | 5,871 | 11/12/2014 |
1.2.3.6257 | 22,720 | 10/2/2014 |
1.2.3.6256-pre4 | 1,170 | 9/26/2014 |
1.2.3.6255-pre3 | 890 | 9/20/2014 |
1.2.3.6249-pre2 | 835 | 9/9/2014 |
1.2.3.6246-pre1 | 2,081 | 8/15/2014 |
1.2.2.6243 | 15,767 | 7/30/2014 |
1.2.2.6241-pre3 | 1,464 | 7/28/2014 |
1.2.2.6240-pre2 | 1,572 | 7/22/2014 |
1.2.2.6238-pre1 | 1,600 | 7/17/2014 |
1.2.1.6229 | 4,990 | 7/14/2014 |
1.1.1.6206 | 10,266 | 6/19/2014 |
1.1.0.6201 | 4,365 | 6/12/2014 |
1.0.6197 | 701 | 6/4/2014 |
1.0.6188 | 4,631 | 5/28/2014 |
## Important Notes
This release (1.3.0 final) will be the last release to support the current *Preview* Unified iOS API. The next release will support the *Stable* iOS Unified API, which is not ABI/API compatible. This package is not compatible with the new Stable iOS Unified API. Xamarin.Forms 1.3.1 will be simultaneously released when the Stable Unified API releases to the stable channel.
If you are using the Classic iOS API this change does not affect you.
## New API
- MasterDetailPage.MasterBehavior : Used to control how the MasterDetailPage renderers the split view between the Master and Detail. Allowed values are:
```csharp
public enum MasterBehavior
{
SplitOnLandscape,
Split,
Popover,
SplitOnPortrait
}
```
- VisualElement.Navigation now contains overloads for all Pushing and Popping methods that accept a boolean parameter to enable/disable animations.
- INavigation contains methods needed for more complex navigation scenarios:
```csharp
public interface INavigation
{
IReadOnlyList<Page> NavigationStack { get; }
IReadOnlyList<Page> ModalStack { get; }
void RemovePage (Page page);
void InsertPageBefore (Page page, Page before);
Task PushAsync (Page page);
Task<Page> PopAsync ();
Task PopToRootAsync ();
Task PushModalAsync (Page page);
Task<Page> PopModalAsync ();
Task PushAsync (Page page, bool animated);
Task<Page> PopAsync (bool animated);
Task PopToRootAsync (bool animated);
Task PushModalAsync (Page page, bool animated);
Task<Page> PopModalAsync (bool animated);
}
```
- New member on Page: `protected virtual bool OnBackButtonPressed ()`: Override in order to handle *physical* back button press events. Events bubble down from root page and back up. Unhandled back button events will cause the app to exit. NavigationPage and the Platform still handle the back button as expected, however it is now possible to intercept and modify these behaviors. Not overriding this method retains the existing back button behavior.
- DependencyService now has Register methods for users needing more advanced ways to register dependencies.
- WidthRequest, HeightRequest, MinimumWidthRequest, and MinimumHeightRequest are now BindableProperties
- IViewController, IVisualElementController, and IElementController now available and explicitly implemented on VisualElement. These interfaces will eventually replace all internal API's currently used to communicate between platform renderers and the frontend API.
- IElementController.SetValueFromRenderer allows for updating of BindableProperties from renderers without accidentally clearing bindings.
- XAML now supports text as the content node in Label: `<Label>Hello World</Label>`
- Pin now has a Clicked property for detecting when the user taps or clicks on a Map pin after the information window is visible.
- Layout constructor is now marked protected and not internal
## Bug Fixes
### Core
- Adding a bad Path to a UriImageSource no longer crashes
- Improved XAML error reporting
- Fix crash where calling Navigation.PushAsync from re-initialized View sometimes crashed
- Fix error where cloning a Binding did not clone the Source parameter
- IsPresented is now respected correctly when using MasterDetailPage. May throw exception now if IsPresented is set to a disallowed value with MasterBehavior.
- Several bugs relating to culture invariance in XAML parsing.
- ThicknessConverter no longer depends on device culture
- Label properly resizes after setting Label.FontSize/Font/FontAttributes [Bug](https://bugzilla.xamarin.com/show_bug.cgi?id=24722)
- XAML InitializeComponent calls in some apps this will result in a massive performance improvement when loading pages.
- Serialization now property supports DataMemberAttributes
- ListView and TableView now return consistent sizing across all platforms. This change should not affect most apps, however some apps suffering from inconsistent sizing with ListViews/TableViews should find the situation better.
- Small set of changes to Layout to enable performance optimization with unneeded measure invalidation.
### iOS
- Button.Image is now rendered with original image to match other platforms
- Editor now scrolls to the correct location when a keyboard is shown
- Fix NullReferenceException when assigning to SearchBar.BackgroundColor
- Fix issue where PushModalAsync could sometimes result in a unhandled exception from UIKit.
- MasterDetailPage now disposes of child renderers correctly, resolves a memory leak.
- Fix issue where cells could not be unselected using blank rows.
- WebViewRenderer now uses correct path for finding resources
- Resolve issue where calling CreateViewController multiple times would cause an exception
- Use proxy when downloading images if configured on device.
- Partial swipes on a NavigationPage no longer cause the NavigationPage to get out of sync with the UINavigationController
- ActionSheet now correctly shows on iOS 8
- ActionSheet no longer gets incorrectly positions when rotating while visible.
- Assigning to Application.MainPage now works reliably
### Android
- MasterDetailPage container width now matches android design guidelines on tablets. (No longer insanely wide).
- SwitchCell height is no longer squished
- No longer crashes on Android 5.0
- No longer renders with a black bar at the bottom of Android 5.0 devices
- Other compatibility fixes with Android 5.0
- WebViewRenderer now uses correct path for finding resources
- Fix issue where calling SetPage multiple times would throw an exception
- Fix crash when restarting the Activity introduced in last pre-release
- Assigning to Application.MainPage now works reliably
### WinPhone
- Assigning to Application.MainPage now works reliably
- Application.OnStart now is called correctly
## Still to come
Some things coming post-1.3:
- Android bitmap optimization (automatic downsampling to prevent OOM exceptions with large images)
- WinRT support (Windows & Windows Phone 8.1)
- Bug fixes as always
- CarouselView
- Much much more