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

TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection #3118

Conversation

Felix-Dev
Copy link
Contributor

@Felix-Dev Felix-Dev commented Aug 13, 2020

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:

if (const auto newItem = TabItems().GetAt(args.Index()).try_as<TabViewItem>())

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

  • the newly added item is either already a TabViewItem or
  • that a TabViewItem already exists as a container for the added item

Unfortunately, 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 after TabView.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 the OnContainerContentChanging event is not raised when a TabViewItem is added directly to the TabView (whereas PrepareContainerForItemOverride 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:

if (const auto newItem = TabItems().GetAt(args.Index()).try_as<TabViewItem>())

The line

if (const auto newItem = TabItems().GetAt(args.Index()).try_as<TabViewItem>())

contains the reason for the crash when it tries to get an item from the item collection with

TabItems().GetAt(args.Index())

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:

TabItems().GetAt(0)

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:

tabview-databinding-compact-add-item

…rce API:

* crash when clearing the ItemsSource
* TabWidthMode [compact] being ignored in XAML Markup and for newly-added items
@msft-github-bot msft-github-bot added the needs-triage Issue needs to be triaged by the area owners label Aug 13, 2020
@StephenLPeters StephenLPeters added area-TabView team-Controls Issue for the Controls team labels Aug 13, 2020
// 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())
Copy link
Contributor

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?

Copy link
Contributor Author

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.

@StephenLPeters
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@StephenLPeters StephenLPeters added needs-triage Issue needs to be triaged by the area owners and removed needs-triage Issue needs to be triaged by the area owners labels Aug 13, 2020
@StephenLPeters
Copy link
Contributor

@Felix-Dev can you merge master to pick up the CI build fix that just went in?

@Felix-Dev
Copy link
Contributor Author

Merged with master.

@StephenLPeters
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@StephenLPeters
Copy link
Contributor

Looks like a down level only test failure, I can take a look in a little while

@marcelwgn
Copy link
Contributor

@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.

@Felix-Dev
Copy link
Contributor Author

@chingucoding Done. Thanks for the info.

@StephenLPeters
Copy link
Contributor

@Felix-Dev The pipeline fix just went in, could you please merge master into this PR?

@Felix-Dev
Copy link
Contributor Author

@StephenLPeters Merged with master.

@StephenLPeters
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Felix-Dev
Copy link
Contributor Author

Felix-Dev commented Sep 4, 2020

@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.

@DHowett
Copy link
Member

DHowett commented Sep 17, 2020

Gentle prod on this. @StephenLPeters how can we determine the nature of the downlevel failure?

@StephenLPeters
Copy link
Contributor

The team is very busy with winui 3 work but this is on my radar, I hope to get to it soon.

@zhuxb711
Copy link
Contributor

zhuxb711 commented Nov 4, 2020

Why did this PR take so much time but still not approved?

@ranjeshj
Copy link
Contributor

ranjeshj commented Nov 6, 2020

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ranjeshj ranjeshj added this to the WinUI 2.5 milestone Nov 6, 2020
Copy link
Contributor

@StephenLPeters StephenLPeters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@ranjeshj
Copy link
Contributor

ranjeshj commented Nov 7, 2020

        UpdateSelectedIndex();

If there are no items to start with, then this call will try to set ListView's selected index to TabView.Selection index which is 0 (but there are no items).


Refers to: dev/TabView/TabView.cpp:427 in 3a061f6. [](commit_id = 3a061f6, deletion_comment = False)

@ranjeshj
Copy link
Contributor

ranjeshj commented Nov 7, 2020

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.

@ranjeshj
Copy link
Contributor

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!

@ranjeshj ranjeshj removed this from the WinUI 2.5 milestone Nov 12, 2020
@Felix-Dev
Copy link
Contributor Author

@ranjeshj Added the two specific commits in your PR #3604 here. (Didn't cherry-pick them yet because I didn't want to experiment with VS's git experience regarding cherry-picking this late today and felt copying over your changes was faster for me today.)

@ranjeshj
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Felix-Dev
Copy link
Contributor Author

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).

@ranjeshj
Copy link
Contributor

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.

@ranjeshj
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@Felix-Dev
Copy link
Contributor Author

@ranjeshj Looks like your newest fix did it then in combination with the others 👍

@ranjeshj ranjeshj merged commit 309c88f into microsoft:master Nov 13, 2020
@Felix-Dev Felix-Dev deleted the user/Felix-Dev/tabview-clear-data-source-issue-fix branch November 13, 2020 21:13
@lukeblevins
Copy link
Contributor

@ranjeshj It appears building a sample project for #3597 on WinUI v2.5 is blocked until a preview is released to fix #3351 . I'll upload the working one for WinUI v2.4 which demonstrates the issue.

ranjeshj added a commit that referenced this pull request Dec 2, 2020
* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
licanhua added a commit that referenced this pull request Jan 8, 2021
…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 <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>

* 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 <30241445+teaP@users.noreply.github.com>
Co-authored-by: Ranjesh <28935693+ranjeshj@users.noreply.github.com>
Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
Co-authored-by: Karen Lai <7976322+karenbtlai@users.noreply.github.com>
karkarl pushed a commit that referenced this pull request Jan 8, 2021
* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
karkarl pushed a commit that referenced this pull request Jan 12, 2021
* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
karkarl pushed a commit that referenced this pull request Jan 14, 2021
* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
karkarl pushed a commit that referenced this pull request Jan 22, 2021
* 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 <28935693+ranjeshj@users.noreply.github.com>

* 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 <jevansa@microsoft.com>

* Update dev/dll/XamlControlsResources.cpp

Co-authored-by: Jevan Saks <jevansa@microsoft.com>

* 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 <jevansa@microsoft.com>

* 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 <28935693+ranjeshj@users.noreply.github.com>

* fix tests

* ImageIcon test fix

Co-authored-by: Keith Mahoney <41657372+kmahone@users.noreply.github.com>
Co-authored-by: Stephen L Peters <stpete@microsoft.com>
Co-authored-by: Marcel Wagner <marcel.alex.wagner@outlook.com>
Co-authored-by: Felix-Dev <FelixDev91@gmail.com>
Co-authored-by: Tony Xia <xia_tony@hotmail.com>
Co-authored-by: EJ <lalotahoma@icloud.com>
Co-authored-by: T Paine <30241445+teaP@users.noreply.github.com>
Co-authored-by: Jevan Saks <jevansa@microsoft.com>
Co-authored-by: Canhua Li <licanhua@live.com>
Co-authored-by: Ana Wishnoff <anawish@microsoft.com>
Co-authored-by: Morten Nielsen <1378165+dotMorten@users.noreply.github.com>
Co-authored-by: Thomas Claudius Huber <thomas@thomasclaudiushuber.com>
Co-authored-by: Luke Longley <18177025+llongley@users.noreply.github.com>
Co-authored-by: Vsevolod <sevkorobot@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-TabView team-Controls Issue for the Controls team
Projects
None yet
8 participants