Discovering open source WPF components – Orc.LogViewer

In the discovering open source WPF components series, I will look into useful open source components that can be used to create WPF apps. This weeks component is Orc.LogViewer.

Logging is a very important aspect of writing mature applications. Although errors should always be logged to a file on disk, it can be very useful to be able to view the logging at runtime while running an application. This proves very useful when analyzing issues on the computer of an end-user.

This is a very short post because the component is extremely easy to use. Just drop the control on a window or show the log viewer window. The log viewer control has the following features:

  • Toggle errors, warnings, info and debug messages
  • Toggle timestamp
  • Search on any text in the log messages
  • Filter by type name
  • Copy to clipboard

logviewer

Discovering open source WPF components – Orc.FilterBuilder

In the discovering open source WPF components series, I will look into useful open source components that can be used to create WPF apps. This weeks component is Orc.FilterBuilder.

Filtering complex problems is something that is fairly common in enterprise WPF apps. Normally the filters are written by a developer, but when a user wants to create a custom filter, they have to go to the developer and ask them to implement the new filter, which could take weeks to end up in the final product.

Orc.FilterBuilder allows end-users to create and store filters for collections. This way each user can create their own filters for their data so they get exactly what they are looking for.

Filter window

The animated gif shows that the filter window is really accessible to all end-users.

filterbuilder

Filtering in xaml

Filtering in xaml is very easy with the filter builder control. Use the raw and filtered collection properties and the filter builder control will take care of the rest:

Filtering in code

The filters can also be used in code-behind or services by using the following code:

Discovering open source WPF components – Orc.Controls

In the discovering open source WPF components series, I will look into useful open source components that can be used to create WPF apps. This weeks component is Orc.Controls.

Controls are an important part of WPF applications. Although Microsoft provides lots of controls out of the box, a few were missing or not working as an end-user might expect. The Orc.Controls component tries to fill that gap by providing very useful controls that will automatically adapt styling based on accent colors.

The controls listed below isn’t the complete list of controls provided by the component. It does give you a good idea about the look and feel of the controls though.

AnimatedGif

It’s so simple, but WPF does not provide this out of the box. Use the AnimatedGif control to easily add animated gifs to an application.

animatedgif

ColorLegend

Sometimes you need to show a legend that represents a list of values, where each value represents a color. This might become quite a complex control when you have to write it yourself, but the team of Orc.Controls has written this for you so you can immediately start using it.

image

ColorPicker

A color picker is something that exists in Windows, but not in WPF. Thanks to Orc.Controls, you can let the user pick any color.

image

DatePicker

The WPF date picker isn’t the best looking date picker you can imagine. I think the one below looks much better!

datepicker

TimeSpanPicker

Picking a TimeSpan is something that lots of apps need, but there are no decent controls available. The TimeSpanPicker inside Orc.Controls does an excellent job at filling up that gap.

timespanpicker

DateTimePicker

The DateTimePicker combines the power of the Date and TimeSpan pickers as you can see in the animated gif below:

datetimepicker

PinnableToolTip

Tool tips are extremely useful. Imagine a user that wants to compare multiple tool tips, then they are not as handy as we might think. Allowing users to pin tool tips gives them the option to compare the tooltips and place them where the end-users wants them to be visible.

pinnabletooltips