Giter VIP home page Giter VIP logo

victor-david / restless-toolkit Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 557 KB

A lightweight toolkit for WPF applications. It includes base classes for MVVM, SQLite database - and provides various custom controls including custom window, tab, data grid, etc.

License: GNU General Public License v3.0

C# 100.00%
wpf wpf-application wpf-controls database sqlite sqlite3 toolkit sqlite-database wpf-window wpf-window-chrome color-picker wpf-color-picker

restless-toolkit's Introduction

Restless Toolkit

Restless Toolkit is a C# solution that consists of custom controls and utility classes that may be used in a WPF application. It is an offshoot of the Restless Tools project, which is no longer under active development. Going forward, Restless Toolkit will provide some of the same controls, improved ones, while removing obsolete functionality, and combining other functionality into a single package.

There are two .dll projects (available as nuget packages) and one .exe project:

Restless.Toolkit

Nuget

This .dll project contains custom controls, MVVM base classes, and other helper classes used for presentation. Its target frameworks are netcoreapp3.1 and net462. Custom controls in this package include:

AppWindow

An application window with custom title bar, borders and icons, and the ability to have the the application's main menu inside the title bar.

TabControl

A custom tab control that supports re-ordering tabs via drag and drop, ability to set tab height and a consistent width, and the ability to maintain the status of tabs during tab switch.

ColorPicker

A custom control that you can place in your view to choose a colors. Various properties allow you to customize its look and functionality. The sample application included in this solution provides a demonstration.

DataGrid

A custom data grid control that enables:

  • Bindable columns collection. This is an attached property that can be attached to a System.Windows.Controls.DataGrid also, but to obtain other enhancements, you need to use the toolkit's DataGrid.

  • Bind to multiple selected items. SelectedItems on a standard WPF data grid is not a dependency property. The SelectedItemsList property enables you to bind to the set of selected items.

  • As you show and hide view models, column state (column order and sort) is automatically saved and restored. You can obtain the state of the columns, save the state to storage (such as a database), and restore when your application starts up again.

  • Column header mode. When a header is right-clicked, you can display a built in column selector popup that enables you to hide/show columns, execute a command to perform your own actions, or supress the context menu that may normally appear.

Restless.Toolkit.Core

Nuget

This .dll project contains classes that aren't part of presentation, such as base classes for Sqlite databases. Its target frameworks are netstandard2.0 and netstandard2.1.

Restless.App.Toolkit

This is a sample application to demo the custom tab control and others. It targets netcoreapp3.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.