-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False #30755
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
Conversation
|
Hey there @@Dhivya-SF4094! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
|
@jsuarezruiz, FYI: I’ve covered both touch and hover interactions in my PR, ensuring consistent behavior across different input types. For Android, instead of applying the condition separately in multiple methods (such as OnTouchBegan and OnTouchMoved), I’ve handled it centrally in OnTouchEvent to reduce duplication and keep the codebase cleaner. |
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.
Pull Request Overview
This PR fixes a bug where GraphicsView event handlers were incorrectly triggered on Android, iOS, and Mac platforms when IsEnabled was set to false, while Windows platform already behaved correctly.
- Added IsEnabled state validation to touch and hover event handlers on Android and iOS platforms
- Created comprehensive UI tests to validate the fix across platforms
- Ensured consistent behavior across all platforms by preventing event processing when GraphicsView is disabled
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
src/Core/src/Platform/iOS/PlatformTouchGraphicsView.cs |
Added IsEnabled checks to all touch event methods and hover gesture handler |
src/Core/src/Platform/Android/PlatformTouchGraphicsView.cs |
Added IsEnabled checks to OnTouchEvent and OnHoverEvent methods with early return |
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30649.cs |
Added automated UI test to verify GraphicsView ignores touch events when disabled |
src/Controls/tests/TestCases.HostApp/Issues/Issue30649.cs |
Added test page with disabled GraphicsView to demonstrate and validate the fix |
Comments suppressed due to low confidence (1)
|
/rebase |
358acc3 to
52b37e0
Compare
8303d29 to
c72d8ac
Compare
| @@ -0,0 +1,25 @@ | |||
| #if TEST_FAILS_ON_WINDOWS // https://github.com/dotnet/maui/issues/27195 | |||
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.
@Dhivya-SF4094 The title of this bug is [Testing] BoxView AutomationId does not work in Appium automation on WIndows Platform. Is this correct issue?
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.
btw: The PR description says
The GraphicsView control should ignore user input when IsEnabled is set to false. However, on Android, iOS, and Mac, input events still fire, unlike on Windows where the behavior is correct.
So it's even more surprising to me that this line is here.
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.
@MartyIX , Yes, the mentioned issue is correct. GraphicsView elements are not accessible via Appium in Windows testing.The Windows behavior of disabling the interactions when users attempt to interact with a disabled graphicsview is the correct behavior compared to other platforms.
…s set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
* Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (#30461) * fix some incorrect casting using `as` (#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (#30920) Possibly helps with #30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
…s set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
* Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (#30461) * fix some incorrect casting using `as` (#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (#30920) Possibly helps with #30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
…s set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
* Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (#30461) * fix some incorrect casting using `as` (#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (#30920) Possibly helps with #30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
…s set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
* Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (#30461) * fix some incorrect casting using `as` (#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (#30920) Possibly helps with #30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
--- title: ".NET MAUI main-to-inflight-candidate Release Notes" date: 2025-08-08 version: "main-to-inflight-candidate" comparison: "main...inflight/candidate" full_changelog: "main...inflight/candidate" description: "Release notes for .NET MAUI main-to-inflight-candidate, covering 10 commits with enhancements and improvements." --- # .NET MAUI main-to-inflight-candidate Release Notes **Version:** main-to-inflight-candidate **Comparison:** main...inflight/candidate **Generated:** August 08, 2025 **Last Updated:** August 08, 2025 **Latest Commit Range:** 7f99494 **Total Commits:** 10 ## What's Changed This release includes 10 commits with various improvements, bug fixes, and enhancements to the .NET MAUI framework. ### .NET MAUI Product Fixes - Update MauiRecyclerView.cs by @github-actions[bot] in #31050 - Added the GraphicsView base images for Windows and mac platforms by @nivetha-nagalingam in #31018 - Fixed CollectionView does not update layout correctly when ItemsSource changes by @Dhivya-SF4094 in #30978 - Fixes #30953 - Fix duplicate app icon resizing by @jeremy-visionaid in #30920 - Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False by @Dhivya-SF4094 in #30755 - Fixes #30649 - [iOS, Mac] Fix for Picker title is not displayed again when SelectedIndex is set to -1 by @HarishwaranVijayakumar in #30486 - Fixes #31011, #30463 ### Testing - [Testing] Feature matrix UITest Cases for GraphicsView Control by @nivetha-nagalingam in #30781 - [Testing] Feature matrix UITest Cases for HybridWebView Control by @NafeelaNazhir in #30613 ### Housekeeping - [create-pull-request] automated change by @github-actions[bot] in #30890 - [create-pull-request] automated change by @github-actions[bot] in #30700 **Full Changelog**: main...inflight/candidate
…s set to False (dotnet#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
…t#30781) * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (dotnet#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (dotnet#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (dotnet#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (dotnet#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (dotnet#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (dotnet#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (dotnet#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (dotnet#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (dotnet#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (dotnet#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (dotnet#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (dotnet#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (dotnet#30461) * fix some incorrect casting using `as` (dotnet#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (dotnet#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (dotnet#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (dotnet#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (dotnet#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (dotnet#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (dotnet#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (dotnet#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (dotnet#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (dotnet#30920) Possibly helps with dotnet#30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
…s set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample
* Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Remove .NET 8 specific code for templates (#30342) * [Catalyst] Fix Scrollbar does not align with FlowDirection change in ScrollView (#30241) * fix added * Revert "fix added" This reverts commit 138797f. * fix added * fix updated * [Android] Fix for OnSizeAllocated is not reported for Android AppShell Flyout content. (#30069) * fix-22045 - Made changes on Android ShellFlyout sizing by adding OnDrawerOpened event and updating Content so OnSizeAllocated is called with correct values when drawer opens. * fix-22045- Set the contentview frame value when the FlyoutView layout change. * fix-22045- Changes committed. * Permissions (BT & WiFi): don't add AccessFineLocation to required permissions if NeverForLocation flag is present (#20874) * otherwise the permission-status will be 'denied' if AccessFineLocation is in the manifest, but denied at runtime (even if it is not strictly required) * Fixed the RealParent Warning shown issue (#30156) * Safe Get of RealParent to avoid warnings * Optimized the fix * Make it as default private * Optimized the fix * Modified the fix and added test * Modified the fix based on concern and added test * unwanted spacing * Replaced the Parent property directly * [iOS/MacCatalyst] Fix: Setting SelectedItem Programmatically and Then Immediately Setting ItemsSource to Null Causes a Crash (#29940) * Re-evaluate indexpaths in PerformBatchUpdates * Add UI test * update test * bring back null check * add a check to see if ItemsSource is disposed * [Windows] Fixed StackLayout crashes on Windows with HeightRequest as 0 (#29926) * Fixed StackLayout crashes on Windows with HeightRequest 0, padding, and opposing alignment. * Included test case for Vertical StackLayout * Updated label content * [Windows] Fixed CanvasDrawingSession Exception on Clipping Image (#30028) * [Windows] Fixed CanvasDrawingSession Exception * Update in description label * Updated Suggested Changes * [Testing] Feature matrix UITest Cases for ScrollView Control (#30188) * Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images * [Testing] Feature Matrix UITest Cases for TimePicker Control (#30271) * modified UI and test cases * updated test cases * added new test cases * updated test cases * added android and iOS snapshots * updated format * updated flow direction code * added mac and windows snapshots * updated iOS snapshots * [Catalyst] Adding and Removing ContextMenus currently does not work - fix (#30307) * Disconnect context flyout handler * Update MenuFlyoutHandler.iOS.cs * Fix for TapGestureRecognizer ButtonMask always return 0 (#30372) * Fix for TapGesture ButtonMask * Added TestCase * Update Testcase * Modified Testcase * fix extention typo (#30461) * fix some incorrect casting using `as` (#30459) if the type is known then a direct cast should be used instead of an as. since, in the case where the assumption is wrong, then it is better to get a cast exception instead of a null ref exception. basically if code uses `as` and does not check for null when that variable is used, then it is likely problematic code. * [Testing] Feature Matrix UITest Cases for SearchBar Control (#30398) * added test cases * added snapshots * comment added * snapshot added * changed method name * [Testing] Feature Matrix UITest Cases for DatePicker Control (#30159) * added test cases * added new test cases * removed test cases * updated test cases * updated test cases * changes in test case * added new event * updated test cases * added culture test cases * added snapshots * added the failing condition * modified test case * added new test case code * added mac and windows snapshots * [create-pull-request] automated change (#30591) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> # Conflicts: # src/Compatibility/Core/src/Tizen/Forms.cs * [Testing] Add UITest for Issue30147 on iOS (#30506) * fix added * Revert "fix added" This reverts commit 138797f. * test case added * test sample modified * test sample updated * affected platform changed * sample changes added * [Android] Fix for Search Handler visual and functional bug in subtabs (#30467) * fix-21119-Made changes to ShellToolbarTracker.cs to prevent search handler stacking on Android Shell tab navigation by removing existing menu items before adding new ones. * fix-21119-Testcase and test snapshot added. * fix-21119-Updated code changes. Also added Mac and Windows snapshots. * [Windows] Fixed the Pasted Password Becomes Visible When IsPassword Is Enabled (#30353) * Fixed the masked text issue of same value pasted into the textbox field * Added the test for verifying the masked text * [create-pull-request] automated change (#30700) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False (#30755) * Fixed GraphicsView event handlers are triggered even when IsEnabled is set to False * Updated PlatformTouchGraphicsView * Updated test sample * Fix duplicate app icon resizing (#30920) Possibly helps with #30900 * Addressed the feedbacks * Added sample for GraphicsView * Added the feature matrix code * Added the test cases for the GraphicsView * Updated the GraphicsViewFeaturetests * Updated the GraphicsViewViewModel * Addressed the feedbacks * Added the snapshots for Mac and Windows * Addressed the feedbacks --------- Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com> Co-authored-by: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Co-authored-by: BagavathiPerumal <93652794+BagavathiPerumal@users.noreply.github.com> Co-authored-by: Janus Weil <janus@gcc.gnu.org> Co-authored-by: Ahamed-Ali <102580874+Ahamed-Ali@users.noreply.github.com> Co-authored-by: Bhavanesh N <bhavanesh001@gmail.com> Co-authored-by: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Co-authored-by: Subhiksha Chandrasekaran <subhiksha.c@syncfusion.com> Co-authored-by: NafeelaNazhir <nafeela.nazhirhussain@syncfusion.com> Co-authored-by: TamilarasanSF4853 <tamilarasan.velu@syncfusion.com> Co-authored-by: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Co-authored-by: HarishwaranVijayakumar <harishwaran.vijayakumar@syncfusion.com> Co-authored-by: Simon Cropp <simon.cropp@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Shane Neuville <shneuvil@microsoft.com> Co-authored-by: Jeremy Powell <47993233+jeremy-visionaid@users.noreply.github.com>
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Issue detail:
The GraphicsView control should ignore user input when IsEnabled is set to false. However, on Android, iOS, and Mac, input events still fire, unlike on Windows where the behavior is correct.
Root Cause
This discrepancy occurred because these platform-specific overrides did not explicitly verify the IsEnabled state. In contrast, the Windows implementation behaved correctly.
Description of Change
Introduced a conditional check at the beginning of the OnTouchEvent and OnHoverEvent methods to validate whether _graphicsView is null or not enabled (!_graphicsView.IsEnabled). If this condition is met, the method exits early by returning false, preventing any further event processing.
Validated the behaviour in the following platforms
Issues Fixed:
Fixes #30649
Screenshots
30649_BeforeFix.mov
30649_AfterFix.mov