-
Notifications
You must be signed in to change notification settings - Fork 705
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
TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection #3118
TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection #3118
Conversation
…rce API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items
// as they are already set correctly here. | ||
// | ||
// We know we are currently looking at a TabViewItem being recycled if its parent TabView has already been set. | ||
if (!tvi->GetParentTabView()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GetParentTabView [](start = 14, length = 16)
Do we need to call GetAncestorOfType if we have this to get access to the TabView?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@StephenLPeters Observe that the check is if (tvi->GetParentTabView() == nullptr)
. We need the GetAncestorOfType() call here because we only are interested in the parent TabView when the TabViewItem has been newly created (and not recycled). When we are looking at a fresh TabViewItem object, it doesn't yet have its parent TabView set so we need to walk the visual tree upwards here.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@Felix-Dev can you merge master to pick up the CI build fix that just went in? |
Merged with master. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Looks like a down level only test failure, I can take a look in a little while |
@Felix-Dev GitHub doesn't support saying "Fixes x and y", it will think it should only close x. Please update your PR to include "Fixes #3104 and fixes #3114" even though it doesn't sound as good. |
@chingucoding Done. Thanks for the info. |
@Felix-Dev The pipeline fix just went in, could you please merge master into this PR? |
@StephenLPeters Merged with master. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@StephenLPeters The test failure seems to be a downlevel issue - I see it failing on RS2 - RS4. I'm not sure exactly why (I am only setting and clearing the TabView ItemsSource). There is issue #2427 which occurs when using the TabView ItemsSource API to populate the TabView and fails on RS4 and below (works on RS5+). Might there be an underlying connection here? Other than this, perhaps rather desperate guess, I haven't found any additional info for now which could explain the down level failure. |
Gentle prod on this. @StephenLPeters how can we determine the nature of the downlevel failure? |
The team is very busy with winui 3 work but this is on my radar, I hope to get to it soon. |
Why did this PR take so much time but still not approved? |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, I see a crash with CornerRadius in older versions (one one I saw was for the add button), perhaps that needs a contract check in the markup. I'm not sure why that is not being hit in other tests. |
@Felix-Dev Can you add the contract check for CornerRadius ? Once you make that I can run the pipeline again. Thanks! |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Looks like we only have one failure left - on RS3. I might be able to install a VM running RS3 on the weekend (with VS,...) and see if I can get some more info (if the team is unable to take a look at this failure). |
I think we are still setting an incorrect index on the listview.selected index. I've made a minor change - lets see if that resolves the issue. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@ranjeshj Looks like your newest fix did it then in combination with the others 👍 |
* Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]>
…e 2.5 (#3887) * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * merge master into feature branch (#3556) * Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> * update controls to use design token colors, update styles (#3728) * merge master into feature branch (#3734) * Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]> * add missing PipsPager generatd file (#3755) * Allow microsoft-ui-xaml to support multiple sets of styles (#3690) * update customtask * update project to use the customtool and support UseVisualStyle * support new flag in api * missing one file change for custombuild task * update to new api and address some comments * fix the -> * script to move master xaml to v2.5 and add them to proj * manually correct the missing items * vcxproj back to UTF8 * standard the name and replace previous with 2dot5 * batch remove last line for project * remove pips and address commentss * trim last line * remove newline at the end of file * fix ##[error]dev\dll\XamlControlsResources.cpp(249,0): Error C26449: gsl::span or std::string_view created from a temporary will be invalid when the temporary is invalidated (gsl.view). * remove return type in lambda * remove Expander_v2.5.xaml, move merge.bat to tools and fix the test failure * fix test * Fix RadioButtons colouring bug (#3756) * fix radioButtons colouring bug * changes from comments * Slider Visual Update (#3768) * visual update * re-add missing key * add innerthumb size animation * add colour transitions * changes from comments * colour transitions fix * prepare for merge * Update pfx and cer used for test signing (#3882) * update pfx * update CalendarView.xml master * update default setting and codegen update avoid crash on expander, reveal, NavView and progressbar * resolve merge conflict * enable test * Fix the Latest still using 2.5 styles Co-authored-by: T Paine <[email protected]> Co-authored-by: Ranjesh <[email protected]> Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]> Co-authored-by: Karen Lai <[email protected]>
* Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]>
* Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]>
* Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]>
* Move build to windevbuildagents (#3511) * Remove infobar from innerloop when it isn't explicitly included. (#3512) * Remove infobar from innerloop when it isn't explicitly included. * Update InnerLoopAreas.props Remove feature area from InnerLoopAreas * add condition * revert innerloop solution file * revert innerloop solution file * Update script to add API test projects and add empty dependency list in FeatureArea.props file (#3474) * Update new control script to add API test project * Update script to add dependencies, clean up script * * Rename FindElementOfTypeInSubtree -> FindVisualChildByType (#3438) * FindVisualChildByName() now an extension method * internal code cleanup * IsSelectionRequried -> IsSelectionRequired (#3404) * IsSelectionRequried -> IsSelectionRequired * TreeViewListAutomationPeer::IsSelectionRequired() always returns false. * Update the test infra to account for the test app having a different name when built from the inner loop solution. (#3359) * Feature/expander (#3492) Adding expander control (#3492). * Initial check-in for colors/brushes, preliminary button brush updates, and adding visual states test page (#3514) * add visual states test page * add visual states test page * Add new colors, update Button* brushes * Tweaked CSV, added accent button * Fix bad merge * Added elevation border brushes * Temporarily disable failing tests so other work can be unblocked. * NavView: Fix CornerRadius for overflow menu and NavViewItem children flyout menu (#3082) * Fix corner radius for the overflow menu and the children flyout menu. * Add two interaction tests. * Small comment improvements. * Small comment improvement. * Move top NavigationView specific overflow button tests from CommonTests to TopModeTests. * Now close opened flyout in API test before finishing. * Rename FindElementOfTypeInParentTree -> FindVisualParentByType * Add missing resource files to LocConfig (#3567) * Cache IsFullScreenMode and invalidate the value only when SizeChanged is raised (#3569) * Fix issue with ProgressRing not acting correctly when moving backwards (#3565) * Add workaround for awkward progress ring behavior. * Update progresring backwards behavior * move pager resources under strings/en-us folder (#3593) * make footer menu items public (#3519) * update progress ring idl (#3599) * TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection (#3118) * Fix the following issues when populating the TabView via its ItemsSource API: * crash when clearing the ItemsSource * TabWidthMode [compact] being ignored in XAML Markup and for newly-added items * small comment improvement * Added two API tests and modified existing test. * Unrelated code which was commented out is run again. * Add API test. * Simplified API test. * Merge API tests. * Add API contract checks for corner radius. * Ensure that listview selected index is not outside of the item range. * Update TabView.cpp Co-authored-by: Ranjesh <[email protected]> * Switch to using ThemeResource for icon in InfoBar (#3603) * Allow winui to detect if it's in CBS package (#3520) * build cbs * Revert "build cbs" This reverts commit 24b6812. * cbs: * Update dev/dll/SharedHelpers.cpp Co-authored-by: Jevan Saks <[email protected]> * Update dev/dll/XamlControlsResources.cpp Co-authored-by: Jevan Saks <[email protected]> * remove check for old platform and add assert * make pipeline build cbs resources.pri and manifest * Update dev/dll/XamlControlsResources.cpp * Update dev/dll/XamlControlsResources.cpp * fail fast * Update dev/dll/XamlControlsResources.cpp * fix package name when generate CBSManifest Co-authored-by: Jevan Saks <[email protected]> * Doc/roadmap updates (#3618) * Updating ordering * Updating feature roadmap * More updates to feature roadmap, roadmap graphic * Update bug_report.md (#3622) * Fix readme to mention Preview 3 instead of P2 (#3621) * Update NavigationView pane scrolling behavior (#3602) * Add initial layout updating, add test page * Add first interaction tests * Fix behavior, add scrolling behavior * CR feedback * Add hacky workaround for weird sizing behavior * Update layout, add separator * Fix updating behavior * Remove hacky workaround, fix test * Add fault tolerance to tests * Update verification files * Change Preview 2 to Preview 3 (#3626) * Update preview_upgrade_instructions.md (#3636) * TeachingTip: Fix background for light-dismissable tip (#3440) * Add missing visual state setters. * Extend API test. * update loc strings (#3650) * File Pipeline build break: Update Nuget from 5.2 to 5.8 (#3664) * Fixing an issue where we needed a FileWrites to avoid file deletion. (#3661) * Remove explicit sizes of InfoBar (#3653) * Remove explicit sizes of InfoBar * Set minheight for centering * Switch to lightweight styling resources * Update CommandBarFlyout closing animation to include button moving (#3594) * Update more-button animation behavior * Fix background issue * CR feedback * update intellisense file (#3651) * Update AcrylicBrushes and add new AcrylicBrushes (#3498) * Add new brushes, update CommandbarFlyout and NavigationView to use new brushes * Update brushes * Update brush references * Update project file * Update navigationview resources * Hacky workaround XAML compiler bug * Add check * Add comment * Fix typo * Add ImageIcon (#3629) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Fix Innerloop Solution (#3697) * Add ImageIcon * Respond to feedback and use an svg image with an MIT license. * Fix broken test * Platform check the IsLoaded check which was introduced in RS5 * Add preprocessor declaration around imageIconSource code in MakeIconElementFrom * Update InfoBarPanel API names (#3704) * Update API names * Remove grid.columns * Adding PipsPager (#3592) * PipsControl initial structure * PipsControl update file structure * Add boilerplate code * Add styles and update logic * Remove Grid inside the PipsControl * some layout fixes * Update common styles * Fix nav buttons visibility logic * Update themeresources and fix infinite scrolling * Clean up the code * Remove InneLoopAreasProps from PR * Add automation * Update resources file * Fix button visibility for automation * Fix navigaiton buttons disappearing bug * Update .idl file and add style as properties * Add handlers for button visibility changes * Add style handlers and update accessibility * Add basic test with flipview * Fix update of max number of pages * Fix maxdisplayedpages onchange handler and address small PR issues * remove commented code * Update Naming * Fix naming and fix pointer hover event * Update Tests and leave some comments * Update naming and tests * Fix sv change size and override virtual methods * Address PR comments * Address PR issues * Fix button not showing up on initial launch * Clean up the code * Update API tests * Partially Update Tests * Fix spacing * Update Strings * Attempt to fix tests * Attempt to fix tests * Fall back to manual scroll if fresh API is not available * Move API check to SharedHelpers * Fix naming Co-authored-by: Ranjesh Jaganathan <[email protected]> * fix tests * ImageIcon test fix Co-authored-by: Keith Mahoney <[email protected]> Co-authored-by: Stephen L Peters <[email protected]> Co-authored-by: Marcel Wagner <[email protected]> Co-authored-by: Felix-Dev <[email protected]> Co-authored-by: Tony Xia <[email protected]> Co-authored-by: EJ <[email protected]> Co-authored-by: T Paine <[email protected]> Co-authored-by: Jevan Saks <[email protected]> Co-authored-by: Canhua Li <[email protected]> Co-authored-by: Ana Wishnoff <[email protected]> Co-authored-by: Morten Nielsen <[email protected]> Co-authored-by: Thomas Claudius Huber <[email protected]> Co-authored-by: Luke Longley <[email protected]> Co-authored-by: Vsevolod <[email protected]>
Description
This PR fixes the following issues when the TabView is populated via its ItemsSource API and with its TabWidthMode set to [Compact] initially:
Notes
The work done in PR #2752 fixed related issues when populating the TabView directly with items of type
TabViewItem
when in [Compact] TabWidthMode:microsoft-ui-xaml/dev/TabView/TabView.cpp
Line 638 in 4468528
In the code above, we are updating the TabWidthMode of the added item as soon as it was added to the TabView item collection using the ItemsControl.OnItemsChanged() overridable method. The condition for success here is that
TabViewItem
orUnfortunately, when items of a type other than
TabViewItem
are added to the TabView (for example via the TabView.ItemsSource API) no TabViewItem container has yet been prepared for the newly added item at the time this code is run. That TabViewItem container is only created afterTabView.OnItemsChanged
ran so the container will miss out on the TabWidthMode update done there.The solution chosen in this PR is to move the relevant code shown above out of the TabView.OnItemsChanged method and into the TabView's internal list's PrepareContainerForItemOverride() method. And as
PrepareContainerForItemOverride
is called for every item added to the TabView, no matter what type it is, we are now updating the TabWidthMode of a TabViewItem no matter if it acts as a container or has been directly added to the TabView.Note: Adding this code to the existing
ContainerContentChanging()
implementation in the TabViewListView class is not an option as theOnContainerContentChanging
event is not raised when aTabViewItem
is added directly to the TabView (whereasPrepareContainerForItemOverride
is).With this approach we can now remove the TabViewItem TabWidthMode update logic in
TabView.OnItemsChanged
. This fixes issue #3104 which was a regression introduced in PR #2752. The bug here is an app crash caused by the added logic in TabView.OnItemsChanged. Here is the added code again:microsoft-ui-xaml/dev/TabView/TabView.cpp
Line 638 in 4468528
The line
contains the reason for the crash when it tries to get an item from the item collection with
Clearing the item collection of a TabView via the IList.Clear() method sends a CollectionChange.Reset notification to grab inside the
TabView.OnItemsChanged
method. Unfortunately, the code highlighted above wil be run when a Reset notification is sent, so we end up with the following call:However, the collection returned by TabItems() already no longer contains any elements as we just cleared it via TabView.TabItems.Clear(), so we end up accessing an item here which no longer exists - the app crashes.
Motivation and Context
Fixes #3104, fixes #3114 and fixes #3351.
How Has This Been Tested?
Tested visually and added API tests.
Gif:
The following GIF shows a TabView populated via its ItemsSource API and with its TabWidthMode set to [Compact] in XAML markup: