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

[Enhancement] Add Information/Help Popup/Flyout Using Pressed/Released #13170

Closed
njsokalski opened this issue Dec 16, 2020 · 3 comments
Closed

Comments

@njsokalski
Copy link

Summary

I would like to have a View that can contain all content types and is attached to a View, and is displayed or hidden in a relative position (ToLeft, Above, ToRight, Below, etc.) when that View is pressed or released. This would be similar to the FlyoutBase that is available in UWP.

API Changes

The XAML would include an attached property that can be included in a View to specify the Flyout. The Flyout itself would contain, along with general standard properties, the following:

Position: An enumeration specifying the position relative to the View to which it is attached, along with an option of Absolute if the user wants to place it at custom coordinates. If unspecified, the value that places the Flyout closest to the center of the screen will be used. Depending on you implementation, this may end up being PositionHorizontal & PositionVertical or having an enumeration with the Flags attribute, and would include values for both ToLeft (to be placed beside the View) & AlignLeft (to align the left edges), etc.
PositionX, PositionY: Values used when Position has a value of Absolute. These properties will be ignored when Position is unspecified or anything other than Absolute
Content: An Object containing the data to be displayed.
ContentTemplate: A DataTemplate used when displaying Content
Basic text-related properties (FontFamily, FontSize, TextColor, etc.): Because the most common use of this control would be a quick textual informational or help message, Content will often be a simple String. These text-related properties would simplify simple customizations for this common use

Example:

In my example, I create a ? inside a Frame with rounded corners (to indicate that it displays extra information). When the user presses this Frame, the Label inside the Flyout will be displayed. When it is released, the Label inside the Flyout will be hidden.

Intended Use Case

The primary purpose of this control would be to be placed near an input (such as a CheckBox, RadioButton, TextBox, etc.) to offer a quick explanation of the input without the need to use a large amount of screen space.

@GalaxiaGuy
Copy link
Contributor

There was a PR for a popup control:
#9616

It has since been moved to Xamarin Community Toolkit:
Spec - xamarin/XamarinCommunityToolkit#292
PR - xamarin/XamarinCommunityToolkit#653

@njsokalski
Copy link
Author

I looked at the links you gave, and I installed the NuGet packages for Xamarin.CommunityToolkit & Xamarin.CommunityToolkit.Markup, but I am having trouble getting them to work. Neither of the following xml namespaces:
xmlns:xct="clr-namespace:Xamarin.CommunityToolkit.UI.Views"
xmlns:xct="clr-namespace:Xamarin.CommunityToolkit.Markup;assembly=Xamarin.CommunityToolkit.Markup"
seem to be working. What am I doing wrong? Thanks!

@jfversluis
Copy link
Member

Thanks for this suggestion! As Xamarin.Forms is now in maintenance mode, this will not happen anymore for Xamarin.Forms. We're only adding bugfixes and stability fixes.

If this is still important to you, make sure to check the .NET MAUI repo and see if it's already on the roadmap. If not, feel free to open a discussion to discuss a change first or open an issue with a detailed feature request. Thanks!

@jfversluis jfversluis closed this as not planned Won't fix, can't repro, duplicate, stale Dec 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

No branches or pull requests

3 participants