Microsoft-ui-xaml: SplitButton & ToggleSplitButton's chevron gets clipped when text scaling >= ~200%.

Created on 31 Oct 2019  ·  7Comments  ·  Source: microsoft/microsoft-ui-xaml

Describe the bug
The SplitButton & ToggleSplitButton each use a chevron for their dropdown menu, and it gets clipped when text scaling is set high enough (~200%). Preceding that it goes off-center to the left more and more.

Steps to reproduce the bug

  1. Set text scaling to 200% or 225%
  2. Open the XAML Controls Gallery
  3. View the SplitButton and/or ToggleSplitButton

Expected behavior
It should remain centered and not get clipped. The DropDownButton is an example of the best case scenario. However, a quick and dirty solution would be to set IsTextScaleFactorEnabled="false", as was done with this issue.

Screenshots
Annotation 2019-10-31 095017

Annotation 2019-10-31 094930

Version Info
XAML Controls Gallery version 1.2.10.0


| Windows 10 version | Saw the problem? |
| :--------------------------------- | :-------------------- |
| Insider Build (xxxxx) | |
| May 2019 Update (18362) | Yes |
| October 2018 Update (17763) | |
| April 2018 Update (17134) | |
| Fall Creators Update (16299) | |
| Creators Update (15063) | |


| Device form factor | Saw the problem? |
| :-------------------- | :------------------- |
| Desktop | Yes |
| Mobile | |
| Xbox | |
| Surface Hub | |
| IoT | |

accessibility area-Commanding bug good first issue help wanted team-Controls

Most helpful comment

@chingucoding For the DropDownButton at least I think it is more a case of consistent sizing, rather than fixing visual issues.

It's possible a DropButtonButton could appear right next to a SplitButton / ToggleSplitButton and the chevrons would have mixed sizes.

All 7 comments

Yeah I'm not sure about that IsTextScaleFactorEnabled workaround, although it's in the guidelines apparently I mean say you're on 300 or 400% scaling it means you have a large text with a very small icon? I would think allocating more space is the proper resolution indeed.

@adrientetar The Settings app's text scaling slider only goes up to 225%.

Although there might be a way to go higher elsewhere (registry?), I'd consider 225% to be the highest "supported" text scale factor that all stock controls should take into consideration. That is to say, although it might not look optimal at 300-400% scaling, it looks fine enough for lower values.

IMO, a quick fix is better than doing nothing due to the complications that can be involved (#275, #1454).

Agree that the chevron shouldn't get bigger as only text should. We should just set IsTextScaleFactorEnabled=false on the chevron.

@jevansaks I would be happy to fix this :)

Agree that the chevron shouldn't get bigger as only text should. We should just set IsTextScaleFactorEnabled=false on the chevron.

Should this be the case for any chevrons used throughout WinUI controls?

Other examples:

  • DropDownButton
  • TreeView already changed
  • CalendarDatePicker
  • CalendarView
  • DatePicker already not scaled
  • TimePicker already not scaled

Agree that the chevron shouldn't get bigger as only text should. We should just set IsTextScaleFactorEnabled=false on the chevron.

Should this be the case for any chevrons used throughout WinUI controls?

Other examples:

  • DropDownButton
  • ~TreeView~ already changed
  • CalendarDatePicker
  • CalendarView
  • ~DatePicker~ already not scaled
  • ~TimePicker~ already not scaled

I don't think that those three need to change, since those do not begin to look weird or start clipping:
(Screenshots taken with text scaling set to 225%)
DropDownButton:
image

CalendarDatePicker:
image

CalendarView:
image

@chingucoding For the DropDownButton at least I think it is more a case of consistent sizing, rather than fixing visual issues.

It's possible a DropButtonButton could appear right next to a SplitButton / ToggleSplitButton and the chevrons would have mixed sizes.

Was this page helpful?
0 / 5 - 0 ratings