Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Move C# Markup Extensions from Forms to Toolkit #499

Closed
jfversluis opened this issue Oct 26, 2020 · 6 comments · Fixed by #522
Closed

Move C# Markup Extensions from Forms to Toolkit #499

jfversluis opened this issue Oct 26, 2020 · 6 comments · Fixed by #522
Labels
feature-request A request for a new feature. in-progress Actively being worked on. ready-to-implement Feature approved, specs written, and ready to implement.
Milestone

Comments

@jfversluis
Copy link
Member

jfversluis commented Oct 26, 2020

Summary

The C# Markup Extensions in its current form need to move from Forms into the Toolkit.

We want to add this in a separate package from the main one and therefore also a separate (new) namespace

@jfversluis jfversluis added ready-to-implement Feature approved, specs written, and ready to implement. feature-request A request for a new feature. labels Oct 26, 2020
@jfversluis jfversluis added this to the v1.0 milestone Oct 26, 2020
@VincentH-Net
Copy link
Contributor

Still blocked by xamarin/Xamarin.Forms#12136

@VincentH-Net
Copy link
Contributor

Here is the source for C# Markup including CSharpForMarkup Part 2 PR features, in a single commit:

VincentH-Net/Xamarin.Forms@939150d

@jsuarezruiz
Copy link
Collaborator

@VincentH-Net I would like to know how I can help you to move the CSharpForMarkup to the XCT. XCT was recently added to the .NET Foundation and a Support document has been created https://github.com/xamarin/XamarinCommunityToolkit/blob/main/Support.md
@ahoefling Could you share the PRs you created (related with the Popup Control)?. I would like to update the list of blocking points, which have PR and which are still pending.

@VincentH-Net
Copy link
Contributor

VincentH-Net commented Oct 26, 2020

Thanks for your offer @jsuarezruiz! This is how we could get it done:

  1. Could you create a PR in Forms 5 to make the API's listed in [Spec] APIS That need to be made public for contributors and Xamarin Community Tookit Xamarin.Forms#12136 public (just the ones needed for C# Markup)?

  2. After that I can update the above C# Markup source to your Forms PR branch and make a PR against XCT (this means that the C# Markup XCT package will depend on Forms 5; since it is it's own package without any dependencies on other XCT packages, we can release this even before the main XCT package supports Forms 5).

  3. After this you can submit your PR and get it merged

  4. After your Forms PR is merged I can update my XCT PR to the public Forms NuGets and submit it

Tbc the Xamarin.Forms.Core API's that C# Markup itself needs access to are:

Internal

  • Binding.SelfPath constant
  • GestureRecognizer default ctor
  • NullEffect class
  • IPaddingElement interface

Private

  • FontElement class
  • PaddingElement class

In addition, the C# Markup unit tests need to access below API's. If that would be preferred by the team, we could opt to keep below API's as they are, and use reflection in XCT unit tests to access them. Since we won't ship the unit tests, that would not introduce any risks for XCT users.

Xamarin.Forms.Core.UnitTests Internal:

  • RelativeLayoutTests.UnitExpressionSearch class

Xamarin.Forms.Core private API's on BindableObject:

  • GetContext method
  • BindableContextAttributes enum
  • BindablePropertyContext nested class
  • SetValueArgs nested class

@SkyeHoefling
Copy link
Contributor

SkyeHoefling commented Oct 26, 2020

@jsuarezruiz

Could you share the PRs you created (related with the Popup Control)?

I have submitted a PR to XCT yet as it needs to support Xamarin.Forms 5.0. The original PR for Popup Control in Xamarin Forms is xamarin/Xamarin.Forms#9616.

As of today the only outstanding PR I have to Xamarin.Forms is opening up a few APIs to allow UWP support xamarin/Xamarin.Forms#12279.

Popup Control Ready Platform
The table below designates which platforms are ready for development once XCT support Xamarin.Forms 5.0

Platform Status
Android ✔ Ready
iOS ✔ Ready
UWP 🔃 Waiting for PR

I haven't submitted any PR to XCT for the Popup Control, once we get a branch that support Xamarin.Forms 5.0 I can start submitting PRs

@pictos
Copy link
Contributor

pictos commented Oct 28, 2020

I think that we can create a branch here targeting Forms 5.0. FYI, The last time that I did it I face some issues with PancakeView and controls can have an odd behavior (like camera view)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request A request for a new feature. in-progress Actively being worked on. ready-to-implement Feature approved, specs written, and ready to implement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants