Skip to content

Conversation

@Illustar0
Copy link

Fixes #755

PR Type

What kind of change does this PR introduce?

What is the current behavior?

No vertical orientation support for RangeSelector control.

What is the new behavior?

Add vertical orientation support for RangeSelector control.

PR Checklist

Please check if your PR fulfills the following requirements:

  • Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
  • Based off latest main branch of toolkit
  • Tested code with current supported SDKs
  • New component
    • Documentation has been added
    • Sample in sample app has been added
    • Analyzers are passing for documentation and samples
    • Icon has been created (if new sample) following the Thumbnail Style Guide and templates
  • Tests for the changes have been added (if applicable)
  • Header has been added to all new source files
  • Contains NO breaking changes

Other information

Image Image

Copilot AI review requested due to automatic review settings December 3, 2025 16:15
@Illustar0
Copy link
Author

Illustar0 commented Dec 3, 2025

@dotnet-policy-service agree

Copy link
Contributor

Copilot AI left a 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 adds vertical orientation support to the RangeSelector control, allowing it to be displayed vertically in addition to the existing horizontal orientation. The implementation includes proper coordinate inversion for vertical mode (top = maximum value, bottom = minimum value), visual state management, and support for keyboard, pointer, and drag interactions in both orientations.

Key Changes

  • Added Orientation dependency property with horizontal/vertical support
  • Implemented coordinate inversion logic for vertical mode across all input methods
  • Added visual states for orientation with appropriate XAML template adjustments

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
RangeSelector.xaml Added OrientationStates visual state group with layout adjustments for vertical mode
RangeSelector.cs Added visual state constants, Loaded event handler for initial sync, and orientation-aware SyncThumbs/SyncActiveRectangle methods
RangeSelector.Properties.cs Added Orientation property with change callback that updates visual states and syncs thumbs
RangeSelector.Input.Pointer.cs Updated pointer event handlers to support vertical coordinate system with proper inversion
RangeSelector.Input.Key.cs Added Up/Down key support for vertical mode and refactored keyboard handling
RangeSelector.Input.Drag.cs Added DragThumbVertical method and updated drag handlers for vertical orientation
RangeSelector.md Added documentation section for vertical orientation with sample reference

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Illustar0 Illustar0 changed the title Add vertical orientation support for RangeSelector control [RangeSelector] Add support for vertical orientation Dec 3, 2025
@Illustar0 Illustar0 requested a review from Copilot December 4, 2025 17:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Illustar0 Illustar0 marked this pull request as draft December 4, 2025 17:36
@Illustar0 Illustar0 marked this pull request as ready for review December 4, 2025 17:48
@Illustar0 Illustar0 force-pushed the feat/allow-vertical-rangeselector branch from 63e4657 to 5968456 Compare December 6, 2025 14:43
@michael-hawker michael-hawker added this to the 8.3 milestone Dec 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RangeSelector] Add support for vertical orientation

2 participants