Finally the 2.1 version of FarsiLibrary is released. Here are the changes made into this version:

  • 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.

  • Fixed: Painting of FADatePicker in readonly mode when Readonly property is set fixed.

  • Fixed: Problem of setting ForeColor and BackColor in FADatePicker

  • Fixed: Certain usage of WinForms control resulted wrong display of Week Of Day in header part of the FAMonthView.

  • Fixed: Certain usage of FAMonthView resulted in wrong displaying of date when culture is invariant.

  • Added: Methods SetTodayDate and SetEmptyDate added to FXDatePicker and FXMonthView which lets you call the code that represents Today and Empty buttons clicks respectively.

  • Added: PersianCultureInfo which is a FA-IR Culture with correct PersianCalendar and DateTimeFormatInfo.

  • Added: PersianDateTimeFormatInfo that represents datetime formatting information for FA-IR culture.

  • 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/FarsiLibrary namespace.

  • Added: Methods to add / remove validation errors on BaseControl.

  • Added: PersianDateValueConverter which can be used in WPF applications to convert strings representing DateTime to their PersianDate equivalant.

  • Added: WPF Demo to show usage of custom date converters.

  • Added: Ability to show and hide Today and Empty buttons on FAMonthView.

  • Added: VisualStudio designer for WPF and actions for WinForm controls is added.

  • Modified: Localization of WPF controls are using mechanism like WinForm controls (using StringIDs). Redundant .resx files are removed.

  • 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 behavior.

  • 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: Strings representing DateTime is now parsed using InvariantCulture when parsed to DateTime instance.

  • Modified: Static Parse and TryParse method accepting DateTime instance is removed. Use constructor overload instead.

  • Modified: “Readonly” property in FAContainerComboBox is made obsolete. Use IsReadonly property.

  • Modified: Border color of control in Office2000 and WindowsXP was near white color. Now uses SystemColors.ControlDarkDark value.

  • Modified: Created a new base class for FAMonthView, which will be base of other upcoming controls.

  • Modified: CurrentMonthName property from FAMonthView is made obsolete. You can use the GetMonthName method on BaseCulturedControl class instead.

  • Modified: Arrows of the FAMonthView will gray-out if the control is in disabled state. Change of selected date is not available if the control is disabled.

Notice that “Modified” entries might be breaking your existing code base, but you are encouraged to use this latest version as there were some rather important bugs fixed and some useful features is added.

Like always, get the files from my web sky-drive here.