2013-05-25

My Libraries are your libraries.

I say that because on this website you will find many C# & WPF libraries for the daily development.

The libraries have several benefits: - well and complete documentation, - detailed description pages, - intellisense and debugging symbols, - open source, - for free for any kind of application. Each library is licensed under the MIT License.

If you for example develop with the MVVM pattern or search for controls which are not inside the .Net framework, you should have a look into the libraries on this page. In most cases you will find an appropriate and reasonable solution. If you just need one control instead of a whole library, you have the freedome to take the sources and copy them into your project.

If you have any question, any problem, need an idea how to solve a problem, have any problem using a library, found an issue or just miss anything, don't hesitate and contact me, I will try to help you.

 

DW.WPFToolkit

Everybody who develops applications knows that in the .Net framework some controls are just missing. You maybe would like to have a simple NumberBox or a TreeListView, but such controls are not available build-in.

The DW.WPFToolkit fills up this gap, as soon you want to solve a problem or you just need a better control you should have a look into this library.


 

alt ArcPanel
 

Beside the StackPanel, DockPanel and WrapPanel the next panel is available. The ArcPanel orders all child items in an Arc form.


alt BalloonTip
 

Some controls might need a notification. For example the caps lock hint for the PasswordBox. This is such a popup ready to use.


alt BooleanToVisibilityInvertedConverter
 

The .Net framework has the BooleanToVisibilityConverter but not for the opposite way. Therefore I have create an own one you now can use.


alt BrowseTextBox
 

As soon the user has to provide files or folders, you need a text box and a browse button beside. This control brings this functionality plus the build-in drag & drop behavior or file(s) or folder(s).


alt ButtonBar
 

In nearly every Window buttons like "[OK] [Cancel]" and so on are needed. This control brings you a easy access to such buttons, the benefit is that you don't have to care about the distances and all buttons will have the same sizes.


alt ContextMenuItem
 

Everybody who develops with the MVVM patterns knows that the ContextMenu is not part of the visual tree and therefore the binding to the DataContext doesn't work. This ContextMenuItem enabled such a binding.


alt ControlsTextBox
 

As soon you would like to put a control inside a TextBox you have to write your own custom control with overwriting the template. This ControlsTextBox is a ready to use control for putting any kind of controls inside.


alt DroppableTextBox
 

This control is a TextBox with the build-in functionary for dropping files or folders. This is an ideal base class for custom TextBoxes.


alt DynamicTabControl
 

The DynamicTabControl represents a normal TabControl with additional buttons for add and close commands. With the commands items can be added or removed out of the source code.


alt EllipsedProgressBar
 

The EllipsedProgressBar indicates the progress of an operation in an ellipsed form. There are three display modes, first a "Pie" form, second just a line (A clock dan easily made with) and third items.


alt EllipsePanel
 

This panel orders all child elements in an ellipse form. Then you easily can create custom controls like a table where players are sitting around or just a clock.


alt EnhancedListView
 

This ListView control brings you an easy access to addition behaviors like sorting, dynamic show or hiding of columns and auto sized column widths.


alt EnhancedPasswordBox
 

The EnhancedPasswordBox like the normal PasswordBox with additional behaviors, you can for example bind the password, which is great if you develop in a MVVM environment, and you will get a notification if the user has pressed the caps lock.


alt EnhancedTreeView
 

The EnhancedTreeView is a normal TreeView with additional behaviors. You can for example define if the items are full stretched, you have the possibility for multi select and items will be selected on right click.


alt EnumerationComboBox
 

This is a ComboBox for display all values of an enumeration. The user can select one of it and the bound enum value will be refreshed.


alt ImageButton
 

The ImageButton is just a button with additional properties for easily adding images. If the button will be disabled the image will be grayed out automatically.


alt InfoComboBox
 

This is just a ComboBox with an additional property. If the ComboBox is editable a background text, sometimes called watermark is displayed. It will be hidden if the box got the focus or text is typed in.


alt InfoTextBox
 

The InfoTextBox is a DroppableTextBox with an additional property. It can show background text sometimes called watermark. It will be hidden if the box got the focus or text is typed in.


alt InverseBooleanConverter
 

Sometimes in the UI you need the opposite value of a boolean. Just take this converter to solve this problem.


alt NavigationBar
 

This items control shows one or more items in an expandable area. You can set by a property if only just one item can be opened at once or multiple. The whole bar can be aligned vertically or horizontally.


alt NumberBox
 

In the most cases the user have to provide any kind of numbers, you can use a normal TextBox but then you have to parse the text box input. With this NumberBox you don't have to care about anymore, just define the valid number type and invalid input is not possible anymore.


alt NumericUpDown
 

The NumericUpDown is like the NumberBox with increasing and decreasing buttons beside. You can define the kind of numbers and how they will be increased or decreased.


alt PagingControl
 

This items control shows each item one by one. There are two buttons either left and right or top and bottom. With them it is possible to go through the items. The control can be aligned vertically or horizontally.


alt Resizer
 

The Resizer control is very simple but powerful. Every control you host in this can be resized by the user in any direction at runtime.


alt SearchTextBox
 

The Windows explorer has a search box in the upper right. This SeachTextBox represents such a box, it has a build in search button which changes automatically if a search is running.


alt SidePane
 

This items control shows each item one by one in a popup. There are two buttons either left or top. With them it is possible to go through the items. The control can be aligned vertically or horizontally.


alt SplitButton
 

Sometimes you want to provide different commands by just one button. If you have such a case you need a control like this one. The SplitButton shows a drop down menu for selecting different commands.


alt TimeBox
 

This control allows the user to providing a time on an easy way. The control binds on a TimeSpan value which will be updates each time the user changes a number.


alt TitledItemsControl
 

Many applications needs input forms. Multiple lines with a title and a control next to it. This can be done in WPF very easy but without creating a big Grid you have the problem that the titles and controls don't share the width. With this TitledItemsControl you can just define all child items and they will be aligned together automatically.


alt TreeComboBox
 

The TreeComboBox is a ComboBox which is a TreeView where all items will be hosted in a popup. It looks like a ComboBox. In the template it can be defined how the selected item will look like.


alt TreeListView
 

This is one of the controls nearly every application developer needs. It is a TreeView with the possibility to define columns. The TreeListView looks and feels like a merge of the TreeView and the ListView, just bind the items, define the columns and say where the expander have to be. That' it.


alt UniformWrapPanel
 

This panel is the normal WrapPanel with one additional behavior. All items are either the same width or the same height. If you need all items aligned by each other just use this WrapPanel.