Library RC 2.1 is here. Some reported bugs are fixed in this release and some new features are added. Please report back any problem you may have. Please note that changes labelled as “Modified” might break your current application. It is advised how the modification will affect you (e.g. Parse and TryParse methods removed) and how you can fix it (e.g. use a constructor overload instead). If no bug is received, this version will be officially released as version 2.1 later. I’m still preparing a detailed FAQ / Tutorial on how to use this! Here’s the change log:

  • Fixed: Rendering of controls in non-official themes or when a 3rd party windows skinning (e.g. WindowsBlinds) is installed.
  • Fixed: Problem when setting SelectedDateTime property of FXDatePicker control to null value.
  • Added: Methods SetTodayDate and SetEmptyDate added to FXDatePicker and FXMonthView which lets you emulate Today and Empty buttons respectively.
  • Added: PersianDateTimeFormatInfo that represents datetime formatting information for FA-IR culture.
  • Added: PersianCultureInfo which is a FA-IR Culture with correct PersianCalendar and DateTimeFormatInfo.
  • Added: More unit test to fully cover Utils project.
  • Added: DateTimeExtensions to help convert between PersianDate and DateTime instances via extension methods.
  • Added: XmlnsDefinition is added to WPF namespaces. You can reference the controls assembly with http://schemas.hightech.ir/wpf/2008/Library namespace.
  • Added: PersianDateValueConverter which can be used in WPF applications to convert strings representing DateTime to their PersianDate equivalent.
  • Added: WPF Demo to show how to use custom date converters.
  • Modified: Localization of WPF controls are using mechanism like WinForm controls (using StringIDs). Redundant resx files are removed from WPF project.
  • Modified: Merged WinForm and WPF controls into one solution.
  • Modified: ValueValidatingEventArgs now passes HasErrors property of the control when raising event.
  • Modified: PersianWeekDayNames and PersianMonthNames have became internal. Use PersianDateTimeFormatInfo class instead.
  • Modified: When parsing a string representation of PersianDate e.g. 1382/08/23 time part was initialized from system time, but now initialized to 00:00 to be consistent with DateTime behaviour.
  • Modified: PersianDateConverter is changed access modifier to Internal. You should not use this class, and instead either cast instances of DateTime / PersianDate or use newly provided extension methods.
  • Modified: Static Parse and TryParse method accepting DateTime instance is removed. Use constructor overload instead.

Download Library 2.1 RC 2 from my Space Drive page here. For more information regarding this new release.