.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Перейти к файлу
Samantha Houts 5e553f6195 Platform Specifics ()
* Playing around with how the platform specifics interfaces etc. might work

* Sample implementation of iOS navigation translucency

* Very slightly reduced code

* Better vendor stuff

* Drop single-implemenation interfaces

* Generics on NavigationPage

* On-demand vendor stuff

* Remove functionally duplicate classes and make ControlGallery work again

* Namespace all the things. XAML test.

* Can use Effect to attach platform specific

* Attach Effect on PropertyChanging for XAML support!

* Rename IConfigPlatform interfaces for readability

* Some renaming to match the documents

* Split class files

* Clear out test-only code

* Re-namespace

* Added On method to rendered Elements

* Allow for removal of platform suffix, convenience methods on specific platforms

* Creating a gallery page for specifics

* Add rudimentary Platform Specifics gallery; make CollapseStyle work on UWP;
Add CollapsedPaneWidth specific property

* Toolbar now working with both collapse styles

* MDP now displaying Content title; toolbar routing around title

* Add a gallery for the iOS NavigationPage stuff

* Add Navigation Page as detail page to verify it works with new Toolbar options

* Make titlebar/toolbar background colors consistent

* ToolbarPlacement now working on NavigationPage

* Toolbar Placement working for tabbed and nav pages

* Fix bug where phone doesn't get default toolbar placement on start

* [Core] Add PS WindowSoftInputModeAdjust

[Core] Make Application extendable

* Toolbar placement now working on Nav, Tabbed, and Master pages on desktop/phone

Remove unnecessary style indirection

Fix build errors

* [A] Add PlatformConfigurationExtensions

* SetSoftInputMode test page

* [A] SetSoftInputMode

Known issue: Status bar color does not work in AdjustResize mode

* [Core] Add PS Blur

* [iOS] Configure renderer for blur

* Add test page

* Move to blur VisualElement for broader support

* Move test pages to gallery

* Update docs

* Use lazy initializer for PlatformConfigurationRegistry
2016-08-30 10:46:14 -07:00
.nuget
.nuspec
AndroidNative/FormsViewGroup
ICSharpCode.Decompiler
PagesGallery
Stubs
Xamarin.Forms.Build.Tasks
Xamarin.Forms.ControlGallery.Android
Xamarin.Forms.ControlGallery.WP8
Xamarin.Forms.ControlGallery.Windows
Xamarin.Forms.ControlGallery.WindowsPhone
Xamarin.Forms.ControlGallery.WindowsUniversal
Xamarin.Forms.ControlGallery.iOS
Xamarin.Forms.Controls
Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared
Xamarin.Forms.Core
Xamarin.Forms.Core.Android.UITests
Xamarin.Forms.Core.Design
Xamarin.Forms.Core.UnitTests
Xamarin.Forms.Core.Windows.UITests
Xamarin.Forms.Core.iOS.UITests
Xamarin.Forms.CustomAttributes
Xamarin.Forms.Maps
Xamarin.Forms.Maps.Android
Xamarin.Forms.Maps.Design
Xamarin.Forms.Maps.UWP
Xamarin.Forms.Maps.WP8
Xamarin.Forms.Maps.WinRT.Phone
Xamarin.Forms.Maps.WinRT.Tablet
Xamarin.Forms.Maps.iOS
Xamarin.Forms.Pages
Xamarin.Forms.Pages.Azure
Xamarin.Forms.Pages.UnitTests
Xamarin.Forms.Platform
Xamarin.Forms.Platform.Android
Xamarin.Forms.Platform.Android.AppLinks
Xamarin.Forms.Platform.Android.FormsViewGroup
Xamarin.Forms.Platform.UAP
Xamarin.Forms.Platform.WP8
Xamarin.Forms.Platform.WinRT
Xamarin.Forms.Platform.WinRT.Phone
Xamarin.Forms.Platform.WinRT.Tablet
Xamarin.Forms.Platform.iOS
Xamarin.Forms.Xaml
Xamarin.Forms.Xaml.Design
Xamarin.Forms.Xaml.UnitTests
Xamarin.Forms.Xaml.Xamlc
Xamarin.Forms.Xaml.Xamlg
docs
tools/mdoc
.editorconfig
.gitattributes
.gitignore
LICENSE
Makefile
PULL_REQUEST_TEMPLATE.md
README.md
Xamarin.Forms.mdpolicy
Xamarin.Forms.sln
Xamarin.Forms.sln.DotSettings
Xamarin.Forms.vssettings
debug.keystore
update-docs-windows.bat
update-docs.ps1
verify-nuspecs.ps1

README.md

Xamarin.Forms

Xamarin.Forms provides a way to quickly build native apps for iOS, Android, and Windows, completely in C#.

Read more about the platform at https://www.xamarin.com/forms.

Getting Started

Install Visual Studio 2015

VS 2015 is required for developing Xamarin.Forms. If you do not already have it installed, you can download it here. VS 2015 Community is completely free. If you are installing VS 2015 for the first time, select the "Custom" installation type and select the following from the features list to install:

  • C#/.NET (Xamarin v4.0.3)
  • Universal Windows App Development Tools
  • Windows 8.1 and Windows Phone 8.0/8.1 Tools

We also recommend installing Microsoft Visual Studio Emulator for Android as well as Emulators for Windows Phone 8.1. If you already have VS 2015 installed, you can verify that these features are installed by modifying the VS 2015 installation via the Control Panel.

Install Additional Features

After installing VS 2015, you will also need to install the following:

  • Bing Maps SDK for Windows 8.1 Store apps -- you can find this in Tools > Extensions and Updates and searching for "bing" in the Online pane.
  • Android SDKs -- you can install these via Tools > Android > Android SDK Manager.
Solution Configuration

Upon opening the Xamarin.Forms solution, you will find that there are a number of errors and warnings under the Error List pane; you can resolve this by changing the filter of Build + IntelliSense to Build Only. At this point, you should be able to successfully build the solution.

By default, the Xamarin.Forms.Controls project does not have a configuration for various API keys to access certain features on each platform (e.g. maps). When building the solution the first time, a controlgallery.config file will be generated inside that project, which looks like this:

Win8MapsAuthKey:
WinPhoneMapsAuthKey:
UWPMapsAuthKey:
InsightsApiKey:
WP8AppId:
WP8AuthToken:

You will have to obtain your own API keys for each of these services, inserted directly after the identifier (e.g. Win8MapsAuthKey:abcdefghijklmnopqrstuvwxyz). You can find out how to obtain each of these as follows:

Due to the way that Android works, the maps API key cannot be injected at runtime. As a result, you will have to add this key to the MapsKey.cs file under Xamarin.Forms.ControlGallery.Android/Properties:

[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]

You can find out how to obtain a Google Maps API key here.

Coding Style

We follow the style used by the .NET Foundation, with two primary exceptions:

  • We do not use the private keyword as it is the default accessibility level in C#.
  • We use hard tabs over spaces. You can change this setting in VS 2015 via Tools > Options and navigating to Text Editor > C# and selecting the "Keep tabs" radio option.

Contributing

Mailing Lists

To discuss this project, and participate in the design, we use the forms-devel@lists.xamarin.com mailing list.

Reporting Bugs

We use Bugzilla to track issues.