* MediaElement and iOS/Android/UWP renderers.
* Added basic WPF renderer. Fixed sizing issue on UWP renderer. Added sample page to ControlGallery app
* MediaEnded event on UWP. Source Uri convert ms-appx to pack:// uri scheme on WPF
* code style fixes
* resolving conflicts
* Following discussion on PR made NaturalDuration a nullable TimeSpan so that can determine when value is not present.
Added CanSeek property to indicate when Position property can be set.
Added support for KeepScreenOn to WPF renderer.
Improved ControlGallery page with separate Play/Pause/Stop buttons and label to display current state
* coding style fixes
* coding style fixes 2
* Improved media controls on demo page. Renderer enhancements for Android and iOS
* Improved logic around media metadata in iOS renderer.
Switched to https video uri to allow playback in iOS. Increased media control button sizes
* Improved parsing of ms-appdata uris supporting both the local and temp folders
* Removed redundant Debug.WriteLines. Removed XML docs from MediaElement and MediaElementState types.
* Bug fix for iOS MediaElement.Source Uri escape handling
* Adding MediaElement fast renderer for Android
* Rearchitecting the Element/Renderer connectivity. New WPF,UAP and Android FastRenderer complete. Still requires Android classic renderer and iOS renderer...
* More MediaElement renderer development. Converted iOS to a FastRenderer
* Latest android renderer
* Android renderer fix for StopPlayback reusability. MetadataRetreiver now loaded async.
* Added an IMediaElementController property to Android renderers to simplify code.
* Simplified Aspect property
* Changed AreTransportControlsEnabled to ShowsPlaybackControls. Removed commented-out code.
* merging
* merging
* added mediaelementrenderer back
* support for polling the position property. Added timer to demopage to poll for position.
* Fixed scaling issue on iOS and background color
* Renderer code review issues
* Implementing MediaSource (ImageSource pattern) to replace Uris. Other code cleaning fixes.
* Hooked up MediaSource and kept uri custom schema logic
* Moved all the "callback" methods to the IMediaElementController interface so they are not publicly exposed on the MediaElement. Removed HttpHeaders and associated code for v1 release. Other code tidying.
* Code review feedback
* Integrated unit tests. Added support for inherited binding on MediaSource.
* Additional Windows file path test. Fix for UWP renderer to check if Control is released
* Fix for FormsVideoView metadata causing aspect issues. Simplified Android FastRenderer to correctly handle VideoView lifetime.
* fixed merge error
* fixed merge errors
* MediaElement and iOS/Android/UWP renderers.
* Added basic WPF renderer. Fixed sizing issue on UWP renderer. Added sample page to ControlGallery app
* MediaEnded event on UWP. Source Uri convert ms-appx to pack:// uri scheme on WPF
* code style fixes
* resolving conflicts
* Following discussion on PR made NaturalDuration a nullable TimeSpan so that can determine when value is not present.
Added CanSeek property to indicate when Position property can be set.
Added support for KeepScreenOn to WPF renderer.
Improved ControlGallery page with separate Play/Pause/Stop buttons and label to display current state
* coding style fixes
* coding style fixes 2
* Improved media controls on demo page. Renderer enhancements for Android and iOS
* Improved logic around media metadata in iOS renderer.
Switched to https video uri to allow playback in iOS. Increased media control button sizes
* Improved parsing of ms-appdata uris supporting both the local and temp folders
* Removed redundant Debug.WriteLines. Removed XML docs from MediaElement and MediaElementState types.
* Bug fix for iOS MediaElement.Source Uri escape handling
* Adding MediaElement fast renderer for Android
* Rearchitecting the Element/Renderer connectivity. New WPF,UAP and Android FastRenderer complete. Still requires Android classic renderer and iOS renderer...
* More MediaElement renderer development. Converted iOS to a FastRenderer
* Latest android renderer
* Android renderer fix for StopPlayback reusability. MetadataRetreiver now loaded async.
* Added an IMediaElementController property to Android renderers to simplify code.
* Simplified Aspect property
* Changed AreTransportControlsEnabled to ShowsPlaybackControls. Removed commented-out code.
* merging
* support for polling the position property. Added timer to demopage to poll for position.
* Fixed scaling issue on iOS and background color
* Renderer code review issues
* Implementing MediaSource (ImageSource pattern) to replace Uris. Other code cleaning fixes.
* Hooked up MediaSource and kept uri custom schema logic
* Moved all the "callback" methods to the IMediaElementController interface so they are not publicly exposed on the MediaElement. Removed HttpHeaders and associated code for v1 release. Other code tidying.
* Code review feedback
* Integrated unit tests. Added support for inherited binding on MediaSource.
* Additional Windows file path test. Fix for UWP renderer to check if Control is released
* Fix for FormsVideoView metadata causing aspect issues. Simplified Android FastRenderer to correctly handle VideoView lifetime.
* fixed merge error
* manual merge fixes
* Fixed missing FileMediaSourceConverter
* Fixed merge issue with iOS project file
* Clarification to WPF Source Uri exception message
* Changed iOS local path to the Library path as this is not user visible or synchronised with iCloud. Fix for breaking change in WeakEventManager
* Added Volume property
* Fixes for code-review feedback
* Optimised iOS renderer to remove a view layer
* fixes to resolve possible rotation bug
* Moved ms-appdata parsing to shared location.
* fixed codesign error
* Fix for issue on Android where control may show black screen prior to video playing - now respects backgroundcolor property
* Renamed conflicting extensions class
* Add experimental flag; remove slow renderer
* Update MediaElementDemoPage.cs
* Update MediaElementRenderer.cs
* Update MediaElementRenderer.cs
* Porting latest renderer updates. iOS re-written as a non-fast renderer to workaround issue with dispose when using on modal pages.
* Fixed protected member in sealed class issue
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>
fixes#1692
Co-authored-by: Peter Foot <peter@inthehand.com>
* AndroidX API updates
* - merge fixes
* - 2017 fixes
* - extra lines added to cs proj files
* - menu element fix
* - androidx bump
* - cleanup
* - remove extra using
* - missed one
* - fix material version
* - one more TapOverflowMenuButton
* Implemented SwipeView Spec
* Fixed close SwipeView when scrolling ScrollView in iOS
* Removed unnecessary SwipeItemInvokedEventArgs
* Separate ISwipeItem in a new file
* Changed BaseSwipeEventArgs to be abstract
* Changed SwipeView SwipeItems properties to use OneWay BindingMode
* SwipeDirectionHelpers is now no EditorBrowsable
* Removed unnecessary ContextItem
* Changed SwipeItems base type from BO to Element
* Added defaultValueCreator for SwipeItems (and new sample)
* Changes in UWP SwipeViewRenderer to change some SwipeItems validations
* Renamed CustomSwipeItem to SwipeItemView
Added Close method
Added new SwipeView sample in Core Gallery
Propagate BindingContext from SwipeView to SwipeItems
Fixed bug in Android where occasionally was not rendering the SwipeItem (BindableLayout)
* Moved command execution from the renderers to the abstraction
* Implemented Close method on UWP
Fixed issue to notify SwipeItems changes (add/remove) on UWP
Implemented Uri IconSource (fix SwipeItem using an Url on UWP)
* Updated CustomSwipeItem samples
* Fixed issue on Android (not rendering SwipeItem occasionally)
* Avoid use MessagingCenter to close the SwipeView when scrolling
* Added new Core Gallery sample using custom size SwipeItems
Fixed icon position on Android with big SwipeItems
Fixed custom SwipeItem size issue
* Fixed vertical swipe threshold calc
* Created ISwipeViewController
Moved SwipeItemView to a new class
Moved SwipeEventArgs to a new class
Changes in touch events in Android to have the same behavior as in Android
* Unsubscribe CollectionChanged from the OldElement on UWP renderer
* Allow open the swipeView if the width of the SwipeItems exceeds the width of the SwipeView
Fixed Android SwipeItem icon position calc issue
* Updated SwipeItems to use ISwipeViewController
* Fixed typo
* Fixed typo
* - remove EditorBrowsable
* Changed SwipeTransitionMode enum values
* - fix samsung fussiness
* - fix compile error for UAP
* Swipe To Refresh
* pull in pull to refresh
* api changes
* Added RefreshView CoreGallery and Gallery Samples (using ScrollView, ListView, CollectionView, etc.)
* Code refactoring in RefreshViewRenderer (iOS)
* Updated RefreshView Android Renderer
* Fixed RefreshView Android samples in Core Gallery
* Added initial RefreshView UWP implementation
* Added another UWP RefreshView renderer using WinUI NuGet controls (RefreshContainer)
* - additional linker settings
* - uwp fixes
* - disable SkipMicrosoftUIXamlCheckTargetPlatformVersion check
* Update .nuspec/Xamarin.Forms.targets
* Limited RefreshView in Android to support only content using scroll.
Small changes in RefreshView iOS renderer.
Updated Core Gallery RefreshView samples.
* Fixed Visualizer colors in UWP RefreshView
* Added UWP RefreshPullDirection Platform Specific
* Small changes in code syntax in iOS renderer.
* Removed some unnecessary curly braces .
* Register effect provider in iOS RefreshView
* Changes in RefreshView UWP Dispose
* Added conditional code to manage the refresh control differently if it is iOS 10 or higher.
* Fixed error in Android Core Gallery (Linker)
Code refactoring and small changes (PR Feedback)
* Changes disposing the Android renderer
* - fix SkipMicrosoftUIXamlCheckTargetPlatformVersion so it can be turned off
* Removed UWP RefreshView renderer and Platform Specific
* - remove winui from nuspec
* - remove skip checks from targets
* - remove XamlControlsResources
* - remove skip check on UAP platform
* Revert changes in Android Core Gallery manifiest
* Revert unnecessary space in UAP Platform csproj
* Removed unnecessary new line in UWP Resources
* Simplified RefreshView iOS Renderer.
fixes#5882
* Add CheckBox class and Renderer
* Add CheckBoxCell class
* Add Control Gallery for CheckBox and CheckBoxCell.
Add stubs only for Android for now.
* Update to fast renderer for Android, Implement Checked and Unchecked Colors!
* Initial UWP implementation, no colors yet.
* Add iOS implementation for checkbox. It's not pretty, but it is a start!
* Updates from Frank
* Code cleanup with frank
* Finalize iOS checkbox!!! it is a circle!
* Fix WPF build and Add a checkbox!!!
* Cell Renderers and macOS
* UWP switchcell
* Update CheckBox Cell on ios/android with colors
* Remove all instances of CheckBoxCell per demand
* Added UITests and UnitTests
* Changed colors to TintColor which makes sense. Added a IsChecked visual state property and a sample!
* checkbox cleanup, tint color fixes, and material
* uwp fix when changing TintBrush
* add checkbox to visual controls page
* formatting fix
* formatting fix
* formatting fix
* convert to tabs
* formatting
* checkbox tabs
* roll back formatting changes to WPFResources
* android renderer overrides
* uwp fix and sizing fix ios
* mask checkbox
* use a single image for ios inatead of always drawing new ones
* wpf fix
* rename to color and add css interfaces
* missing wpf file
* designer hack
* fix wpf for ios builds
* assembly info
* fix default tint color and infinite crash
* [iOS] fixes change checked state from control
simplification
added to dynamic galery
* [iOS material] fix crash when dispose
* [UWP, WPF] fix vertical alignment
* [Android] fixes does not change size when the reduction HeightRequest
* Update Xamarin.Forms.Material.iOS/MaterialCheckboxRenderer.cs
Co-Authored-By: Samantha Houts <samhouts@users.noreply.github.com>
* [Android] TabStop support
* alphabetize gallery, fix color update when disabled, unsubscribe from event in dispose
* cleanup assembly info
* fix assembly attributes
* remove assembly info
* pr comments
* couple of more dispose fixes
* One Last Dispose
* fix api 19 call to ClipToOutline
* [Build] Remove submodule
* [Build] Use GitInfo to set Assembly metadata
* [Build] Remove extra prop
* [Build] Update version
* [Build] Update versions to be consistent with existing Build.Tasks
* [Build] Update build number
* [Build] make sure build tasks gets info
* [Build] Add assembly info unit test
* [Test] Refactor test for gitinfo on vsts
* Enable "treat warnings as errors"
* Remove unnecessary for loop
* Remove properties which already exist in base class
* Make property hiding explicit and obsolete hiding property
* Move Treat Warnings as Errors setting to props file
* Fix weird quotation changes in Xamarin.Forms.Build.Tasks.csproj
* Scrub empty WarningsAsErrors tags
* Remove unused variable
* Fix TearDown method hiding in UI tests
* Fix Id member hiding in test for Bugzilla32871
* Fix RootPage member hiding in Bugzilla51503
* Fix RooPage member hiding in Issue1483
* Disable warnings for deprecated OpenGL calls
* Fix member hiding in test view models
* Fix RootPage member hiding in Issue1931
* Fix Id member hiding in Bugzilla42620
* Fix AutomationId member hiding in Bugzilla57114
* Fix Layout member hiding in Bugzilla40911
* Remove unused variables from Bugzilla31114
* Remove unused variable
* Fix various unused variable warnings
* Disable warning to leave example code for reference
* Fix unused variable from macOS test
* Remove unused members
* Fix unused variable warnings
* Fixed unused property warnings
* Fix warnings for unused code
* Disable 'await' warning
* Remove unused variable
* Adding pragma directives for await warnings
* Remove member hiding
* Turn off global "Treat warnings as errors" in other platforms
* Use MarkerId instead of obsolete Id member
* Fix await warnings in WPF GeocoderBackend
* Add missing await
* Disable warning for unused event
* Remove NavigationMenu & Renderers
- Never completed and there is the new CollectionView
- Only (partially) implemented on iOS/Android
* Removing ToolbarButton and related types
- `ToolbarButton`, `ToolbarImageButton`, `IToolbarButton`
- this appears not to be used at all
- was part of `ToolbarRenderer` in the old Duplo repo, which has since been removed
* Update Xamarin.Forms.Platform.cs
* Use the auto-generated constants
* [Visual] Work on the Material Frame
* Improving the code for the sample
* Added a controller to help with frames that have additional padding
- Android MaterialCardView does not use the default padding to determine where the content starts, rather it uses the content padding of the view because there is a border that does not affect the content
* [Visual] Added a few extra checks on Android to reduce unnecessary interop
* [Visual] A few more frame changes and some button tweaks
* [Visual] use the themers on iOS and save default properties
* [Visual] Add placeholders for themer and cache defaults
* [Visual] Added the material slider for iOS
- Android does not have a custom control, so uses the existing renderer
* [enhancements] Move from duplicate LoadImageAsync code to GetNativeImageAsync
* [visual] Updated the controls to use the new iOS bits
* [visual] some fixes for material components
* [visual] Added hacks for material alerts
* [visual] removing the alert changes for the main branch
* [visual] Update the MaterialComponents NuGet
* [visual] Rework the theming/customization of Material controls on iOS
* [visual] fix the places where the user colors were being changed
* [visual] Improve the ColorStateList management for Android
* [visual] Re-implemented the Android ProgressBar as a fast, material renderer
* Material Entry
* [visual] Add Android ActivityIndicator
* filter out material layouts for 8.1
* remove folder
* fix __ANDROID_28__
* MaterialContextThemeWrapper
* [visual] remove the `IFrameController` interface
* [visual] reverting the changes to the Frame layout
* [visual] reverting whitespace
* [visual] make sure to raise both property changed
* formatting changes
* fixing colors on android to match with ios themes
* Update Xamarin.Forms.Platform.Android/Material/MaterialButtonRenderer.cs
Co-Authored-By: mattleibow <mattleibow@live.com>
* fix sizing of entry with infinite width size request
* update to release 28 of support
* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml
Co-Authored-By: PureWeen <shane94@hotmail.com>
* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml
Co-Authored-By: PureWeen <shane94@hotmail.com>
* PR Comment changes
* Visual
* add progress bar and fix ui tint color
* Progress Bar Updates
* ios padding fixes
* padding fix and button image positioning fixes
* added button themes
* disable tint and open up material android button
* change image to bank
* add overrides for Material Frame Renderer
* remove commented out code
* change back to Full linker
* applying comment fixes
* change comparison
* The barest beginnings of starting a spike for LV2
* Very basic RecyclerView
* Very, very basic UICollectionView
* Start setting up galleries
* De-duplicate some gallery code
* Android horizontal layout
* Very basic horizontal/vertical text lists for iOS
* Vertical list views working in iOS, stashing while trying to figure out what the deal is
with horizontal views and frames with heights of 1
* Working on rotation issues in iOS
* Fix name of renderer in UWP; make horizontal scrolling work for horizontal
lists on UWP
* Set up gallery to generate different sizes of lists for testing
* Respond to items source updates on UWP
* Add gallery for GridLayout; Add GridLayout;
begin GridLayout implementation UWP
* Basic UWP gridness
* Add demo page for grid layouts with text;
Handle grid layout spans on UWP; handle grid layout span changes on UWP;
* Implement span updates on Android grid layouts;
* Ironed out most of the iOS text cell layout issues
* iOS vertical/horizontal text lists now working reliably;
* In progress on UWP DataTemplate stuff
* Dumping the data template into the itemsource
* Vertical list basically working with DataTemplate; horizontal list having image size issues
* Clean up names and move classes to their own files
* Adding some notes for FormsContentControl
* Rolling back platform test on UWP
* Fix Tizen build
* Fix typo and roll back old test code
* Remove old testing comments
* Make basic data templates work on Android
* Update measure to work horizontally
* Remove old testing code
* Terser rectangles
* Use nameof()
* Rename FormsContentControl to ItemContentControl
* Use CreateRenderer instead of GetOrCreateRenderer
* Clean up TemplateCodeCollectionViewGallery
* Add grid galleries for templates
* Nicer example templates
* Create gallery to test removing items from collections
* Smooth single item removal on Android
* Smooth item insertion on Android
* Observable collection item adds working on UWP
* UWP Remove
* Split files
* Add gallery for snap points; start implementation of snap points on Android;
* Move snap handling to separate class; implement Start snapping (horizontally)
* Debugging vertical overlap issues on Android
* Temporarily add IsClippedToBounds to generators to force clipping on Android
* Start and End SnapHelpers are working horizontally and vertically
* Consolidate some snap code on Android
* Mandatory Single Snapping working for Center/Start horizontally
* Throwing together scrollto gallery
* Super basic "ScrollTo" implementation for Android, plus test page
* Expand ScrollTo test harness;
* Move ScrollToRequestEventArgs to its own file
* Mostly working Carousel renderer; needs some cleanup and its own gallery pages
* Carousel gallery
* Naming cleanup
* Make parameter name consistent
* Finally some basic data template functionality for lists
* Checkpoint; sort of working
* Working out estimate size hacks
* Working out cell optimizations
* Checkpoint before some serious refactoring
* Collapsing closer to a solution; text lists and grids working;
template lists and grids working; uniform size hint mostly implemented;
* Remove awkward Update method
* No longer hard-coding list item heights estimates
* Consolidate more code
* Get rid of event on ItemsViewLayout
* Remove public NeedsEstimate stuff
* Get rid of IConstrainedCell
* Watch for Span changes on iOS
* Indexed ScrollTo on iOS
* Implement removal/insertion of items on iOS
* Handle Move, Reset, Replace on Android
* Add screens to test ScrollTo Item; implement ScrollTo Item for iOS
* ScrollTo Item working on Android, but only works for MakeVisible
* Implement Android ScrollTo Animated ScrollToPosition
* Ugly but functional non-animated scroll with ScrollToPosition
* Move Scroll logic into helper class for clarity and maintenance
* Fix Start snapping with grids (hard-coded span of 1)
* Fix next/previous row/col snapping bug for EndSnapHelper
* Remove some debug statements
* Clean up example code
* Fix missing delegate setting on CollectionView
* Add filtering example
* Watching the adapter and handling empty view from the renderer
* Add debugging for all the FindViewHolder methods
* Suuuuper basic but functional EmptyView
* Allow EmptyView to be turned on and off
* Building tests for all the EmptyView scenarios
* Set Platform on EmptyView (for now)
* Templated EmptyView on Android
* Clean up merge errors
* Require flag to use CollectionView on Android
* Require flag to use CollectionView on UWP
* Restore Label functionality commented out during testing
* Adding a note for myself
* Add flags for iOS; flags for Android CarouselView;
* Remove Calabash out-commenting
* Undo changes to DotSettings; remove outdated TODOs
* Fix formatting
* Remove debugging code; remove outdated todos; remove unnecessary comments
* Undo randon VS changes
* Include CollectionView in experimental renderer testing
* Use correct property in nameof() call
* Rename ScrollToRequestEventArgs Animate -> IsAnimated
* Rename Constrain -> ConstrainTo for consistency
* Add Core flags feature; add flag verification for CollectionView features
* Make sure no one is subclassing native CollectionView stuff without flag
* Set CollectionView flags for unit tests
* Make flags depend on Application.Current
* Fix iOS 9.3 exception when laying out CollectionView
* Use Device.Flags
* Move CV flag check to CollectionView; use Device.Flags on native platforms;
* Move classes into their own files
* Make CollectionView flag check method non-browseable
* Remove old TODO
* Remove Element.Platform sets
* stubbed toolbox entries and snippets for Carousel and Collection
* updated CV snippet to include layout
* Remove Linq using statement
* Remove unused using statement
* Turn off CollectionView in Control Gallery
* Move PropertyChangedEventArgsExtensions to internal on each platform
* Clean up debugging code
* Fix broken test setup
* Remove ToString overrides
* Fix broken test screen
Fix broken test screen
* Fix rebase errors
* Update submodule
* Fix rebase error
* ImageButton Implementation
* [Android] rename BorderBackgroundManager
* [Android] copy AspectFill changes to ImageButton
* [UITests] fix order of gallery pages to work with tests
* [Android] Account for changing image region with border/shadows
* [Android] check for api 18 and add setpadding call back in
* [Android] throw exception instead of crash when image fails to load
* Addressing issue comments and adding additional test cases to Issue demo
- fixes#1724
Currently, on the first build of a "Hello World" Xamarin.Forms app,
you will see this in the build log:
ConvertDebuggingFiles
Parameters
Files
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.pdb
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.pdb
OutputItems
_ConvertedDebuggingFiles
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.dll
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll
The logging is a little weird here, but this `ConvertDebuggingFiles`
MSBuild task takes about 100ms on my machine.
What is it doing?
The Mono debugger can support two types of debugging files:
- `mdb` files
- "portable" `pdb` files
If Xamarin.Android's build finds a "non-portable" `pdb` file, we have
to run it through this task to convert to an `mdb` file... This gives
us proper stacktraces for `FormsViewGroup.dll` and
`Xamarin.Forms.Platform.Android.dll`.
You can change the type of debugging symbols in your project with the
`DebugType` setting, which has these options:
- Blank or `None`: don't generate symbols. (Although Xamarin.Android
has funny behavior here, see:
https://github.com/xamarin/xamarin-android/issues/2282)
- `Full` generates an `mdb` file, this is a Windows-proprietary format
for debug builds
- `PdbOnly` generates a "non-portable" `pdb` file, a
Windows-proprietary format for release builds
- `Portable` generates a "portable" pdb file, which is the new
standard that works for debug and release builds. New SDK-style
MSBuild projects use this option by default.
These values are not case sensitive, I have mostly seen them lower
case in newer projects.
So what does Xamarin.Forms need to do?
Use `<DebugType>portable</DebugType>` in any Android class library or
app project. Other platforms, this is optional, not as much benefit. I
have heard that `DebugType=portable` might cause a problem on UWP.
* Xamarin.Forms will ship "portable" `pdbs` in its NuGet package for
`FormsViewGroup.dll` and `Xamarin.Forms.*.Android.dll`. Developers
won't pay the 100ms on initial build.
* Initial build times for `Xamarin.Forms.sln` will be slightly better
for development, although I didn't measure the difference here.
* Disable AndroidUseLatestPlatformSdk in VS so VS stops auto-updating Android projects;
Remove XF.targets imports from projects which don't need it;
Make XF.targets imports conditional on existence of XFBT DLL in VS to avoid errors
* More consistent check for VS
* Apply nicer VS check logic to Xamarin.Forms.Xaml.UnitTests.csproj
* Fix missing "'"
* Re-add XF.targets imports to PagesGallery native projects