Giter Club home page Giter Club logo

fullcontrols's Introduction

FullControls

Reworked version of the wpf controls, plus new controls and features.

Availability

NUGET: https://www.nuget.org/packages/FullControls

Dependencies

net7 net7 net6

Full documentation

The full documentation is available in the repository wiki.

Content

Content of the package:

Controls

Wpf user interface controls:

Accordion

Is a control that contains a stacked list of items.
Each item can be expanded or collapsed to reveal the content associated with that item.

ItemsControlAccordionItem

This is a control that can be used within an Accordion.
It works as an items control, so can be used to display multiple items inside.
It has an header and contains a Collapsible, to make the content collapsible by clicking the header.

SimpleAccordionItem

This is a control that can be used within an Accordion.
It can contain everything on its Content property.
It has an header and contains a Collapsible, to make the content collapsible by clicking the header.


BorderedGrid

Similar to the normal Grid, but this draws a grid with bordered cells.


ButtonPlus

Extended version of the classic button with more customizations.

RepeatButtonPlus

Extended version of the classic repeat button with more customizations.

Switcher

Button with the behaviour of a radio button.
If two switchers are in the same group, only one can be checked.

ToggleButtonPlus

Extended version of the classic toggle button with more customizations and features.


CheckBoxPlus

Extended version of the classic checkbox with more customizations.

RadioButtonPlus

Extended version of the classic radiobutton with more customizations.


Collapsible

Adds collapsing and expanding functionality to another element.
For example you can specify a Grid as collapsible Child, so the content of this Grid can be expanded or collapsed.
The collapsible works with Width and Height, so expanding means "go from zero to full size", and collapsing means "go from full size to zero".
Is possible to collapse only width, only height, or both.


ComboBoxPlus

Extended version of the classic combobox with more customizations and features.

ComboBoxItemPlus

Extended version of the classic combobox item with more customizations and features.


FlatContextMenu

Reworked version of the classic ContextMenu with more customizations.
For example you can change the color of the shadow or display a scroll viewer if needed.
However, it was created primarily for handling some inherited properties of FlatMenuItem.

FlatMenu

This control was created only for handling some inherited properties of FlatMenuItem.

FlatMenuItem

Extended version of the MenuItem with more features and customizations.
It contains also a "radio-checking" feature to make checkable items mutually exclusive.

FlatMenuSeparator

Reworked version of the Separator with more customizations.

FlatMenuSpace

This is a blank menu item: is made to add a blank space (without any separator line) between the items.

FlatMenuTitle

This is an unclickable menu item that works only as SubmenuItem, it can be used to add an item that works as a title for a group of items.


GlassScrollBar

Reworked version of the classic scrollbar adapted to be semi-transparent and colored.

GlassScrollViewer

This is a scroll viewer that uses the GlassScrollBars and with some new functionality, as draw the scrollbars inside the scroll viewer.


Kaleidoborder

Draws a multicolored border with a background around another element.
This is similar to the standard border, but allows multicolored borders.


PasswordBoxPlus

Extended version of the standard password box with more features and customizations.
Is possible to add a label (or icon) and display an hint, add a button to show the password when pressed and copy the password.
It maintains the same security of the original password box.

TextBoxPlus

Extended version of the standard text box with more features and customizations.
Is possible to add a label (or icon) and display an hint, add a button to copy the text, choose if the textbox can contain only number, doubles…

System controls

System controls and components:

AvalonWindow

Extended version of the classic window with possibility to customize the titlebar, fuse the titlebar with the content of the window, better handling of close, minimize, etc...

TitleBar

A fully customizable titlebar used in custom windows.


FlexWindow

Extended version of the classic window with the same features of AvalonWindow, but with support for round angles and custom shadow.
(This window can only be minimized, is not resizable or maximizable)

FullWindow

Extended version of the classic window with the same features of FlexWindow but resizable.
(This uses AllowsTransparency=True)

Windows

Some windows:

MessageWindow

Standard window for messages with light and dark theme, similar to the message box.

License

Copyright (C) 2020-2024 devpelux (Salvatore Peluso)
Licensed under MIT license.

mit

fullcontrols's People

Contributors

devpelux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fullcontrols's Issues

FlatMenuItem, Memory Leak

Description

When using FlatMenuItem inside a DataTemplate, it seems like there might be a memory leak issue. Maybe you could look into the matter.

By replacing FlatMenuItem with the default equivalents, the issue is fixed, which leads me to believe there could be a bug in the library.

This is my xaml structure:

GlassScrollViewer
    └── ItemsControl
        └── ItemsControl.ItemTemplate
            └── DataTemplate
                └── Border
                    └── Border.ContextMenu
                        └── FlatContextMenu
                            ├── FlatMenuItem
                            ├── FlatMenuItem
                            ├── FlatMenuSeparator
                            └── FlatMenuItem

Affected release

2.2.0

Framework

.NET 6

OS

Windows 11

FlatMenuItem FontSize

Changing FlatMenu/FlatMenuItem Font Size will not affect the font size of content. Right now the font is veeery small.
TextSizeIssue

New control Kaleidoborder

Description

This is a border that could have 4 different colors.
Is useful for fluent design textboxes too.

Checklist

  • First implementation.
  • Imporve internal corners.
  • Full intellisense documentation.
  • Make large corners proportionally fixed.
  • #9

Missing controls

  • Calendar. (Added TimeBox)
  • Progressbar.
  • Slider.
  • RichTextBox.
  • FlyoutMenuItem.
  • ToolBar.
  • Some DataGrid control.
  • ...

This list is not exaustive.

Update all controls to Fluent Design System

Update the design of all control to match the principles of the Fluent Design.

Checklist:

Controls

  • Accordion
  • AccordionItem
  • BorderedGrid
  • ButtonPlus
  • CheckBoxPlus
  • Collapsible
  • ComboBoxItemPlus
  • ComboBoxPlus
  • FlatContextMenu
  • FlatMenu
  • FlatMenuItem
  • FlatMenuSeparator
  • FlatMenuSpace
  • FlatMenuTitle
  • GlassScrollBar
  • GlassScrollViewer
  • ItemsControlAccordionItem
  • PasswordBoxPlus
  • RadioButtonPlus
  • RepeatButtonPlus
  • SimpleAccordionItem
  • Switcher
  • TextBoxPlus
  • TextHeaderAccordionItem
  • ToggleButtonPlus

Components

  • GlassRepeatButton
  • GlassThumb

SystemComponents

  • AvalonWindow
  • CustomWindow
  • FlexWindow
  • FullWindow
  • TitleBar
  • WindowPlus
  • WindowTitleBar

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.