Use the StepBar control
masterStepBar is a step-by-step navigation bar designed to guide users through a multi-step process. It inherits from ItemsControl and allows you to define individual steps using StepBarItem objects.repository·master·Indexed 27 days ago
https://github.com/handyorg/handycontrolA UI control library for WPF (Windows Presentation Foundation) development that provides enhanced controls and syntactic sugar to improve development efficiency. It includes a variety of attached properties via Element and Attach suffix classes for styling borders, icons, and backgrounds, and is available as a NuGet package for .NET 4.0 or higher and Visual Studio 2022.
StepBar is a step-by-step navigation bar designed to guide users through a multi-step process. It inherits from ItemsControl and allows you to define individual steps using StepBarItem objects.HandyControl provides three built-in XAML color definition files. Each file defines the same set of color names but with different color values. Choose the file that matches your desired theme:
Colors.xaml: Default configuration.ColorsDark.xaml: Dark theme configuration.ColorsViolet.xaml: Violet theme configuration.Basic folder. This structure provides a modular way to access core resources such as colors, brushes, behaviors, and geometry definitions. Use these resources to maintain visual consistency and leverage built-in effects and converters in your application.The source code is organized into several solutions (.sln) within the src folder, categorized by .NET version (e.g., Net_GE45 for .NET version $\ge$ 4.5).
To view the controls in action, set the corresponding demo project (e.g., HandyControlDemo_Net_GE45) as the Startup Project in Visual Studio.
SimpleItemsControl is a lightweight version of the standard ItemsControl. It is designed for scenarios where you need to display a collection of items with minimal overhead. It supports standard item management properties such as templates and data sources.The RangeSlider control allows users to select a specific range of values within a defined minimum and maximum. It supports both horizontal and vertical orientations and can be configured with tick marks and tooltips.
<hc:RangeSlider Width="400" IsSnapToTickEnabled="True" ValueStart="2" ValueEnd="8"/>HandyControl uses two naming conventions for extending control functionality via attached properties:
Element suffix classes: These classes provide common attached properties that can be applied to all controls (e.g., properties that affect general element behavior).Attach suffix classes: These classes provide specialized attached properties that are intended for use with a specific type of control only.You can find the source code for these properties in the Controls / Attach directory of the repository.
The Drawer control is used to display content in a sliding panel, making it a suitable alternative to Dialog when you need to show documents or side panels without blocking the entire UI flow. It can be docked to different sides of the container.
[ContentProperty("Content")]
public class Drawer : FrameworkElementThe FloatingBlock control (inheriting from Control) allows you to implement special visual click effects, such as elements that float away from a control when it is interacted with. You can customize the animation destination, duration, and the content that floats using attached properties.
public class FloatingBlock : ControlThe CheckComboBox is a combination box that allows users to select multiple items from a list. It inherits from ListBox and implements IDataInput.
[TemplatePart(Name = ElementPanel, Type = typeof(Panel))]
[TemplatePart(Name = ElementSelectAll, Type = typeof(CheckComboBoxItem))]
public class CheckComboBox : ListBox, IDataInputPreviewSlider is an extension of the standard Slider that allows you to provide visual feedback to users about status information at different positions along the slider track. It uses a PreviewContent area to display information as the thumb moves.CoverView control (inheriting from RegularItemsControl) is designed to mimic the iTunes album view layout. It is used to display items in a grid-like cover format.