https://github.com/dwndland/chapter.net.wpf.controls
Chapter.Net.WPF.Controls is a comprehensive collection of modern, customizable WPF controls for professional desktop applications.
https://github.com/dwndland/chapter.net.wpf.controls
controls csharp custom wpf
Last synced: 6 months ago
JSON representation
Chapter.Net.WPF.Controls is a comprehensive collection of modern, customizable WPF controls for professional desktop applications.
- Host: GitHub
- URL: https://github.com/dwndland/chapter.net.wpf.controls
- Owner: dwndland
- License: mit
- Created: 2024-12-01T14:40:27.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-19T10:49:17.000Z (8 months ago)
- Last Synced: 2025-05-22T06:13:17.629Z (7 months ago)
- Topics: controls, csharp, custom, wpf
- Language: C#
- Homepage:
- Size: 489 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

# Chapter.Net.WPF.Controls Library
## Overview
Chapter.Net.WPF.Controls is a comprehensive collection of modern, customizable WPF controls for professional desktop applications.
## Features
- **ChapterTextBox:** Enhances the WPF TextBox by the possibilities to show background text, drop files and folders and place additional controls in.
- **ChapterArcPanel:** Arranges child elements in an arc form.
- **ChapterBrowseTextBox:** Adds a browse button to the ChapterTextBox.
- **ChapterTabControl:** Enhances the TabControl with buttons for add new tab item and close buttons of existing tab items.
- **ChapterEllipsePanel:** Arranges child elements in a configurable ellipse form.
- **ChapterComboBox:** Represents a ComboBox which takes an enumeration value and shows all possible states inside the dropdown menu for let choosing a value.
- **ChapterTreeView:** Enhances ChapterTreeView multi select, select an item by right click on it and a two way bindable SelectedItem.
- **ChapterTextBlock:** Formats the given translation.
- **ChapterHeaderedContentControl:** Provides the possibility to automatically align Headers and contents.
- **ChapterButton:** Enhances the WPF Button to show an disabled image. The bound image will be shown monochrome if the button is disabled.
- **ItemsPanel:** A UniformGrid with only one row or one column, depending on the orientation, which adds a spacing between the items.
- **ChapterNumberBox:** Displays a TextBox to accept numeric values only, so the text can be bound to a numeric property directly without converting.
- **ChapterToggleSwitch:** A custom checkbox where a slider shows the checked and unchecked state.
- **ChapterPasswordBox:** Hosts and enhances the WPF ChapterPasswordBox to be able to bind the password value and show info text in the background.
- **ChapterResizer:** Brings the possibility to resize every UI control manually by hold and drag the corners or sides.
- **ChapterSearchTextBox:** Adds search and cancel buttons to the ChapterTextBox to represent a search box shown like in the Windows explorer.
- **ChapterStackPanel:** A StackPanel which adds a spacing between the items.
- **ChapterSplitButton:** A button with a drop down where more commands can be available.
- **ChapterTimeBox:** Shows textboxes to let the user input a time.
- **ChapterTitledItemsControl:** Provides the possibility to automatically align titles and contents.
- **ChapterTreeListView:** Shows a TreeView with the possibility to expand or collapse child elements shown in a GridView. The expander can be placed in every column cell template.
- **ChapterUniformPanel:** A UniformGrid with only one row or one column, depending on the orientation, which adds a spacing between the items.
- **ChapterWrapPanel:** Enhances the WrapPanel by the feature that all items will have the same size.
## Getting Started
1. **Installation:**
- Install the Chapter.Net.WPF.Controls library via NuGet Package Manager:
```bash
dotnet add package Chapter.Net.WPF.Controls
```
2. **ChapterTextBox:**
- Usage
```xaml
```

3. **ChapterArcPanel:**
- Usage
```xaml
```

4. **ChapterBrowseTextBox:**
- Usage
```xaml
```

5. **ChapterTabControl:**
- Usage
```xaml
```

6. **ChapterEllipsePanel:**
- Usage
```xaml
```

7. **ChapterComboBox:**
- Usage
```csharp
public enum Number
{
[Description("The Number One")]
One,
[Description("The Number Two")]
Two,
[Description("The Number Three")]
Three
}
public class MainViewModel : ObservableObject
{
public MainViewModel()
{
Number = Number.One;
}
public Number Number
{
get { return _number; }
set
{
_number = value;
NotifyPropertyChanged("Number");
}
}
private Number _number;
}
```
```xaml
```

8. **ChapterTreeView:**
- Usage
```xaml
```

9. **ChapterTextBlock:**
- Usage
```xaml
```

10. **ChapterHeaderedContentControl:**
- Usage
```xaml
```

11. **ChapterButton:**
- Usage
```xaml
```

12. **ItemsPanel:**
- Usage
```xaml
```

13. **ChapterNumberBox:**
- Usage
```xaml
```

14. **ChapterToggleSwitch:**
- Usage
```xaml
```

15. **ChapterPasswordBox:**
- Usage
```xaml
```

16. **ChapterResizer:**
- Usage
```xaml
```

17. **ChapterSearchTextBox:**
- Usage
```xaml
```

18. **ChapterStackPanel:**
- Usage
```xaml
```

19. **ChapterSplitButton:**
- Usage
```xaml
<Setter Property="Command" Value="{Binding DataContext.ChapterSplitButtonItemCommand, RelativeSource={RelativeSource AncestorType={x:Type buttons:ChapterSplitButton}}}" />
<Setter Property="CommandParameter" Value="{Binding Index}" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
```

20. **ChapterTimeBox:**
- Usage
```xaml
```

21. **ChapterTitledItemsControl:**
- Usage
```xaml
```

22. **ChapterTreeListView:**
- Usage
```xaml
```

23. **ChapterUniformPanel:**
- Usage
```xaml
```

24. **ChapterWrapPanel:**
- Usage
```xaml
```

(Note: The shown images are taken from the demo project and are not made by the code next to it.)
## Links
* [NuGet](https://www.nuget.org/packages/Chapter.Net.WPF.Controls)
* [GitHub](https://github.com/dwndlnd/Chapter.Net.WPF.Controls)
## License
Copyright (c) David Wendland. All rights reserved.
Licensed under the MIT License. See LICENSE file in the project root for full license information.