-
Notifications
You must be signed in to change notification settings - Fork 711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SplitButton doesn't behave as split button using touch #178
Comments
This behavior is intentional because the chevron button is smaller than the recommended touch target size and would be too difficult to reliably hit, so touch tap always expands. I'll let @adambarlow discuss whether in practice users like this behavior. |
Jevan is correct, this was by design in terms of our UX philosophy and guidelines on touch target sizes. We have been having a few conversations about this and this while we haven't had negative end user feedback yet, we have had feedback from teams utilizing the control that it should work like mouse for touch. I am personally open to this change, but would like to verify it can be used reliably before making the change. |
Then shouldn't it be mentioned in the remarks of the docs? And I think it's still a design issue, because in this case it's not a split button at all (and I need to repeat myself in order to get the regular button behavior, it's actually not working as intended on touch devices). |
If you can detect if the control is on a touch capable display, then it could add padding to extend the width of the chevron button? |
@GeertvanHorrik @mdtauk I think this is worth exploring further and would of course prefer for touch users to have the ability to have a split-button with two touch targets. We'll take a look at the sizing and reliability. |
There are some controls, such as ComboBox flyouts, and Context Menus that do increase their item sizes when called via a touch input. But it is true that the default state of a control tends to be consistent in all modes. I would like to put forward a 32 x 32 chevron button, with a vertical separator alongside the standard button. That separator would then give some confidence to people using touch input. |
Whenever you implement a command on the button itself (SplitButton.Command), then that will never be invokable. So you must repeat yourself in the flyout in order to actually allow the (most important) command to be executable. I think it's a UX design issue, that can be considered a bug in the apps using this button of the devs are not aware of this. |
I agree that the current behavior feels broken on touch. There could be a property to always open the flyout on touch, so people could opt-in into the current behavior. But the default should be to execute the command. |
#1207 Mentioning this related Issue, The Toggle Split Button doesn't work with Touch |
I have a client that is reporting this as a bug. will this ever get fixed? |
The SplitButton is now for me totally useless. Please reconsider this UX philosophy. If I would have wanted this behavior, I would have used a DropDownButton. |
How about a setting somewhere? |
I would use a property for that. For example, a <SplitButton TouchMode="Select">
<StackPanel Orientation="Horizontal" Spacing="8">
<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" />
<TextBlock Text="Erase" />
</StackPanel>
<SplitButton.Flyout>
<MenuFlyout Placement="Bottom">
<MenuFlyoutItem Text="Erase">
<MenuFlyoutItem.Icon>
<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" />
</MenuFlyoutItem.Icon>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Mark as guess">
<MenuFlyoutItem.Icon>
<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" />
</MenuFlyoutItem.Icon>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Mark as certain">
<MenuFlyoutItem.Icon>
<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="" />
</MenuFlyoutItem.Icon>
</MenuFlyoutItem>
</MenuFlyout>
</SplitButton.Flyout>
</SplitButton> |
I was referring to a user preference. Something that would affect the accuracy required. |
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 5 days. |
This is still an issue with the control by default I believe. |
is there a way to override the class and fix this issue? if so could someone show an example |
I didn't find a solution for it. I just stopped using it. |
This issue was fixed internally and will be available soon :) |
@bkudiess Is this issue going to be fixed on the WUX side as well/backported to all currently supported builds? I have revived a bug report from a Surface Pro X user running 26100 about this exact issue on an app of mine |
Describe the bug
SplitButton doesn't behave as split button using touch.
Steps to reproduce the bug
Expected behavior
Since a default command is bound to the button, I don't want to repeat myself inside the dropdown for touch (otherwise I would have used the DropDownButton). I would expect the SplitButton to be invoking the command when tapping the button part.
Screenshots
Using mouse:
Using touch:
Version Info
All windows versions (Windows 10 Mobile, and the 1809 update on a surface tablet)
NuGet package version:
Windows 10 version:
Device form factor:
Additional context
The text was updated successfully, but these errors were encountered: