Skip to content
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

Feature: TabView (dev tracking) #590

Closed
42 of 43 tasks
teaP opened this issue Apr 19, 2019 · 5 comments
Closed
42 of 43 tasks

Feature: TabView (dev tracking) #590

teaP opened this issue Apr 19, 2019 · 5 comments
Assignees
Labels
Milestone

Comments

@teaP
Copy link
Contributor

teaP commented Apr 19, 2019

Tracking for #304

  • Check in current state
    • Remove and resolve all TODO comments
      • Add resource lookup shared helper
      • Don't attempt to select disabled items
    • Add tests (1.5 days total)
      • Initial selection
      • Add/remove tabs
      • Fixed vs. size to content width
      • CanCloseTabs and IsCloseable
      • Closing cancel event
      • Closing selected tab selects new tab
  • Add features (5 days)
    • Contain a ListView instead of being a ListView; check accessibility and reenable all tests.
    • Tear-away support
    • Fixed width tabs
    • Add IsClosing on TabViewItem
    • Tooltip with full header if text is truncated
    • CornerRadius knob available to change the rounding of the "tab" corners
    • Add + button, bool to hide it, and event/command for when it is clicked
    • Fix bugs opened by terminal team
    • CanCloseTabs IS a default
    • Fix position of right content area
    • Add action content area, if needed -- test out if the footer area can be a single slot
    • Rename APIs to match spec (TabView -> TabControl, TabViewItem -> TabItem, TabClosingEventArgs, TabWidthMode, LeftContent -> TabStripHeader, RightContent -> TabStripFooter etc.)
    • Update colors
    • Tab separators
    • Fix drag/drop issues
    • TabClosing event should no longer actually close the tab; let the app do it.
  • Accessibility (5 days)
    • Focus rect on tabs
    • Close button should not be tabbable
    • Keyboarding -> ctrl-F4 closes a tab
    • ctrl-tab and ctrl-shift-tab cycle between tabs
    • Pressing right arrow from last tab moves focus to + button (if it's there) and pressing left goes back.
    • Selection should NOT follow focus
    • High contrast
  • To test out
    • Do mnemonic work?
    • Can the control be left-aligned and not take up more space than it needs?

Steven's Found Bug List

  • Setting TabView.Background should change the background of the TabStrip. (Currently it sets the background of the content)
  • TabStrip doesn't care about RightContent's MinWidth (Currently the content gets pushed off the screen)
  • I've never been able to get the bumpers to show up :(
  • Adding a TabViewItem without an icon causes a crash
@teaP teaP self-assigned this Apr 19, 2019
@jevansaks jevansaks changed the title Proposal: TabView Feature: TabView (dev tracking) Apr 19, 2019
@jevansaks jevansaks added this to the WinUI 2.2 milestone Apr 19, 2019
@lukeblevins
Copy link
Contributor

Not to nag, but please ensure that CornerRadius can be set for the tabs, as the toolkit version of TabView and TabViewItem seem to ignore this property when set. Thanks.

@jevansaks
Copy link
Member

Not to nag, but please ensure that CornerRadius can be set for the tabs, as the toolkit version of TabView and TabViewItem seem to ignore this property when set. Thanks.

No problem! This is a good reminder, I'll add it to the TODO list here so we don't forget about it.

@mdtauk
Copy link
Contributor

mdtauk commented May 9, 2019

TabBar placement, Top, Bottom, Left, Right

Placement on the sides could use the vertical text box control, I think it's in the community toolkit

@lukeblevins
Copy link
Contributor

@jevansaks Glad to see work on this is progressing nicely. IMO, another piece of functionality that should be added in the near future is the destruction of TabViewItem content when closing them. For instance, the toolkit version of the tabs control seems to not remove tab content from memory when they are closed, causing a steady increase in an application's memory footprint regardless of the tabs being closed. This is particularly problematic when a Frame is set as the tab's content.

I documented this behavior yesterday and filed a toolkit bug report containing a sample project to reproduce it.

I welcome any questions the community has for me on this topic.

@michael-hawker
Copy link
Collaborator

@teaP I noticed the TabView doesn't appear to have an ItemClick event like ListView has. This would be useful for the Ribbon implementation for collapsing the view as called out in this comment.

@teaP teaP closed this as completed Aug 27, 2019
@jevansaks jevansaks added the team-Controls Issue for the Controls team label Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants