KsWare.Presentation.Converters

Converters for KsWare Presentation Framework Supports .Net 5.0/6.0, Core 3.1 and .Net 4.5


Keywords
Converter, KsWare, Presentation, Framework
License
LGPL-3.0-only
Install
Install-Package KsWare.Presentation.Converters -Version 0.3.0

Documentation

KsWare.Presentation.Converters

Converters for KsWare Presentation Framework

BooleanComparingConverter

DisplayTimeSpanConverter

Converter to format a TimeSpan with some custom formats.

  • e.g. Total hours : Minutes : seconds "hhh:mm:ss" => 486:59:59
  • TotalDays: ddd
  • TotalHours: hhh
  • TotalMinutes: mmm e.g. "mmm:ss" => 123:59
  • TotalSeconds: sss
<TextBlock Text="{Binding Converter={DisplayTimeSpanConverter 'mmm:ss'}}"/>

HexConverter

Converts a numeric value in the hexadecimal string presentation

SingleValueThicknessConverter

Converts a single numeric value to a thickness.

  • Left: new Thickness(value, 0, 0, 0)
  • Top: new Thickness(0, value, 0, 0)
  • Right: new Thickness(0, 0, value, 0)
  • Bottom: new Thickness(0, 0, 0, value)

Negative values

  • -Left: new Thickness(-value, 0, 0, 0)
  • -Top: new Thickness(0, -value, 0, 0)
  • -Right: new Thickness(0, 0, -value, 0)
  • -Bottom: new Thickness(0, 0, 0, -value)

Combined values

  • * -* 80 20: new Thickness(value, -value, 80, 20)
<TextBlock Text="{Binding Converter={SingleValueThicknessConverter Left}}"/>
<TextBlock Text="{Binding Converter={SingleValueThicknessConverter '* -* 80 20'}}"/>

StringConverter

Converts anything to a string.

StringJoinConverter

ResourceConverter

Example: Icon="Example.xaml" or "Example.ico" ,...

<MenuItem Icon="{Binding Icon, Converter={x:Static ksv:ResourceConverter.Default}, ConverterParameter=/Kushed;component/Resources/" />

Example: Icon="Example"

<MenuItem Icon="{Binding Icon, Converter={x:Static ksv:ResourceConverter.Default}, ConverterParameter=pack://application:,,,/MyAssembly;component/Resources/{0}.xaml}" />

ResourceConverterExtension

Example: Icon="Example"

<MenuItem Icon="{Binding Icon, Converter={ksv:ResourceConverter pack://application:,,,/MyAssembly;component/Resources/{0}.xaml}}" />

Example: Icon="Example.xaml" located in same folder of current document

<MenuItem Icon="{Binding Icon, Converter={ksv:ResourceConverter}" />

Example: Icon="Example.xaml" located in Data folder of current documents assembly

<MenuItem Icon="{Binding Icon, Converter={ksv:ResourceConverter /Data}" />

Example: Icon="Example.xaml" located in Sub folder of current documents.

<MenuItem Icon="{Binding Icon, Converter={ksv:ResourceConverter /Sub}" />

Example: Icon="Example.xaml" located in Data folder of specified assembly.

<MenuItem Icon="{Binding Icon, Converter={ksv:ResourceConverter MyAssembly, /Data}" />

Example: Icon="Example.xaml" located in Data folder of entry assembly.

<MenuItem Icon="{Binding Icon, Converter={ksv:EntryAssemblyResourceConverter EntryAssembly, /Data}" />

EntryAssemblyResourceConverterExtension

Example: Icon="Example.xaml" located in Data folder of entry assembly.

<MenuItem Icon="{Binding Icon, Converter={ksv:EntryAssemblyResourceConverter /Data}" />

TypeNameConverter

VisibilityConverter

Converts a boolean value in a Visibility.

Operators: IsNull, IsNullOr0, IsTrue, IsFalse, IsEqual, IsNotEqual

  • IsNullOr0 good to check if collection is null or empty.
<TextBlock Visibility="{Binding Converter={VisibilityConverter TrueVisibleElseCollapsed}}"/>
<TextBlock Visibility="{VisibilityBinding ., TrueVisibleElseCollapsed}"/>
<TextBlock Visibility="{Binding Converter={VisibilityConverter IsTrue, Visible, Hidden}}" />

VisibilityBinding

Master Develop Kux
Build Build status Build status Build status
Test AppVeyor tests (branch) AppVeyor tests (branch) AppVeyor tests (branch)
Nuget NuGet Badge