* [visual] add intellisense popups for visual
* Add visual registrations into type converter
* combine VisualMarker and VisualRendererMarker
* remove visual from class name for intellisense
* set Match Parent to internal
* Remove register code and just scan assemblies
* [Visual] Add Visual Attribute and some additional attribute checks
* remove registrar changes
* renamed to specific VisualTypes
* - move check up to LINQ statement
* Make sure the other platforms can create visuals
* fix renderer names
* move stepper renderer
* rename converter
* Move the first few projects over to PackageReference
* Move the first few projects over to PackageReference
* Moved the remainder of the projects to PackageReference
* Copy the nunit test adapters for the test apps
* Update the unit tests version of json.net
* Don't use relative paths
* Make sure to also copy sub folders
* Remove the trailing slash
* Keep the directory structure
* 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
* Added OnPlatform markup extension supporting iOS/Android/UWP for #2608
* Add Default and Other properties to OnPlatformExtension
This allows setting a default value for unknown platforms, as well
as specify values for arbitrary platforms by using a named parameter
like syntax:
`{OnPlatform Android=15, iOS=10, UWP=12, Default=11, Other=Tizen:20}`
The `Other` supports multiple semi-colon separated values. By using
this format, we can make the string more concise than if we used `=`
which would have to be escaped in quotes. For example:
`{OnPlatform Default=10, Other=Tizen:22;Xbox:20;Switch=25;PlayStation=22}`
Added unit tests that verify all the supported combinations.
* Add OnIdiomExtension
The extension allows the following syntax:
`{OnIdiom Phone=23, Tablet=25, Desktop=26, TV=30, Watch=10, Default=20}`
At least one value or `Default` must be specified. `Default` is returned
whenever the specific idiom was not specified.
* Add missing known platforms and return Default if missing
Add all strings that are provided in `Device`.
Convert individual asserts into test cases for better reporting.
Also, whenever a matching platform value isn't specified, return Default
instead of null.
* Turn OnIdiom asserts into test cases
This makes for easier to read, document and report tests.
* Add missing platforms to null check
* Make Default the content property
* Perform type conversion as expected by XamlC
Leverage the conversion that is used elsewhere, to return a
properly typed object that can be assigned directly to the
property. Update tests with typed values since now we get
integers, rather than strings out of the parser.
* Add Converter/ConverterParameter support
* Message should state that the value must be non-null
* Remove Unsupported idiom since it's not useful to set
You can use Default instead.
* Use new GetService<T> extension method for conciseness
* Don't fail if service provider is null
* Remove Other from OnPlatformExtension
As suggested, this might come back in the future in some other form.
The intent is that we can load the toolbox xml file from an
assembly by looking it up by *exact* name. That means we
should not prefix it with assembly specific info.
Similarly the lookup of the images is *supposed* to be handled
by using *exact* lookups using the format "{platform}.{filename}"
where the filename is the one stored in the toolbox xml file.
This change makes that happen by correctly setting the LogicalName.
This ensures that intellisense in Visual Studio
does not report an error when numeric values are
put in this property instead of the 'string' values
like 'Small', 'Large' etc
* Remove InternalsVisibleTo from Core to XF.Platforms.*
* Changes per Jason's code review
* Move LockableObservableListWrapper to internals namespace
* Changes per Stephane's code review
* update docs
* Touch code to get CI to run tests
* Rebase; Update documentation
Makes the references to Microsoft.Windows.Design.Extensibility version-specific,
so that in systems with muliple versions of that library available (e.g., with
multiple VS versions installed) the projects find the correct DLL