Open zadjii-msft opened 3 years ago
Control level toasts also include the resize size indicator!
Backlog approved.
Alright, so I tried to do this today. Here's what I learned:
TeachingTip
is definitely focusable, or in the tab order, or something. So it's certainly possible for it to steal the focus from the TermControl
.
TabViewItem
, not the TermControl
. That's aggressively annoying. TeachingTip
, and don't give it a Target
, it's always going to be placed relative to the XAML ROOT, not _whatever thing is the parent element of the TeachingTip
. This is particularly painful because none of the placement options allow you to place it within the bounds of the target. They all want to be outside the target, on the side somewhere.
PlacementMargin
of -80, -80, -80, -80
, which seemed to work alright in a XAML studio scratch page, but doesn't work well in the Terminal itself.
-80, -80, -80, -80
is obviously contrived. I should only need to set one of those to -80, right? But it's not clear if it's Top
or Bottom
that needs to be set.ShouldConstrainToRootBounds
?
TeachingTips
smaller? Like, "Pane 1" is not a whole lot of text.
TeachingTips
just dying immediately.TeachingTips
will reserve space for the Title
and Subtitle
, even if one is null/empty. We probably only want one at a time.TeachingTip
/Toast
, so we can dismiss it properly at the end of the timer. The way I did that was with two classes:
Toast
was the container for the Timer and the TeachingTip, and after the timeout, would hide the TeachingTip. It shouldn't be constructed on it's own though.Toaster
was the container for "Thing to create and own Toast
s". It would be able to MakeToast
on a given (optional) UI element, and would hold all the Toast
s it creates, then remove them when their timer expires. TerminalPage
had a Toaster
it could use to send toasts. It did not feel like a natural extension of TeachingTip
. My work is over in dev/migrie/f/com.fabrikam.toaster
. Feel free to check it out if interested.
An idea I've been toying around with for a while, but haven't formalized.
"Toasts" are an Android UI paradigm - a transient notification that can be displayed to the user. These toasts can't be interacted with, and dismiss themselves after a brief timeout.
WinUI doesn't have Toasts, but it does have the
TeachingTip
. in the future, WinUI is planning on building this auto-dismiss behavior into theTeachingTip
itself, but we're impatient.Use cases that would be good for this:
10708
startingDirectory
if the provided directory doesn't exist. In that case, we could display a toast to the user as well.From the above, there are two kinds of scenarios where we want Toasts: control-level and window-level.
I'm not prescribing any interactable UI in these toasts, but
TeachingTips
do allow buttons and other rich content.I'm sure there are other things we could do too. This issue is so I don't lose track of the possible scenarios.
Other things: