- Upgrade UI framework dependencies. Thanks to @BenjaminSieg and @ChezzPlaya.
- Fix window focus/keyboard focus when showing windows. Thanks to @aalex675.
- Added support for
MultiBindingsyntax in dynamic resources.
- Added
initialFocusproperty for XML fields.
- Added property
IgnoreNullOrEmptyto validation attributes. If this property is set totruethen validation will pass if the value is null or an empty string. This is useful when a field is optional and validation needs to occur only when a value is given. - Added DatePicker to metro theme.
- Fixed behavior of
WindowOptions.TopMostandWindowOptions.BringToFront. - Dropdown selections are now virtualized for better performance.
- Added
minheightandmaxheightto xml<layout>element. If content overflowsmaxheighta vertical scroll bar appears.
Prompt<T>now validates input on positive action.- Metro dialog window no longer forces controls theme.
- Metro dialog window now passes initial focus to the controls.
- Added ComboBox control to WPF theme.
- Added
IsDefaultandIsCancelbindings in WPF and Metro actions. - Added
[DialogAction]action that is visible only when the form is hosted in a dialog. This action hasClosesDialog = trueby default. - Dialogs and dialog windows have environment flag
DialogHostContextadded by default. - Fixed getter only properties throwing two-way binding errors.
- Added
SelectionType.RadioButtonsInlineRightAlignedfor right-aligned radio buttons. - Added
[DirectContent]attribute that allows passing element rendering directly to WPF. - Changed resource reference from
MaterialDesignTextAreaTextBoxtoMaterialDesignOutlinedTextFieldTextBox
- Added support for
IsEnabledin attributes orenabledin XML for input elements.
- Fixed bug with bound expressions not escaping curly braces properly.
- Added FormBuilder.TypeConstructors that allows registering custom factories for custom XML input
typeattributes. - Added TimePicker control
- You can add it by decorating
DateTimeclass properties with the[Time]attribute. PropertyIs24Hourscan be assigned to a boolean or a dynamic resource. - You can add it via
<input type="time" ... />in XML. Attributeis24hourscan be assigned to a boolean or a dynamic resource.
- You can add it by decorating
- Fixed
MaterialColoredIconStylevalidation brush fill for invalid controls.
- Added error text element.
- You can add it via
[ErrorText]attribute in classes. - You can add it via
<error>tag in XML.
- You can add it via
- Added parameterized value converters which are created from factories registered in
Resourceclass. - Non-input XML elements accept
visibleproperty. - Added
Invalidate,IsValid,ValidateWithoutUpdate,GetValidationErrorsutilities in ModelState class.Invalidatetemporarily fails validation for a property. If you modify the field, callValidate, or callValidateWithoutUpdate, the marked error will disappear. To check the state of this validation error useIsValid/GetValidationErrors.IsValidis useful if you want to check current validation state without triggering side-effects likeValidate, which sometimes produces unexpected results.ValidateWithoutUpdateshould generally be avoided unless you are dealing with some strange edge cases.GetValidationErrorsreturns the list of error strings from specified properties/whole model.
- Added
Must.BeInvalid(andMust.Failalias) validator for external validation. This validator always fails, so you must combine it with theWhencondition. - Added
ValueAttribute.OnActivationandValueAttribute.OnDeactivationvalidation actions which specify what happens when the validator is enabled/disabled from theWhencondition. - Added
SelectionType.RadioButtonsInlinefor horizontal layout of radio buttons in selections.
- Stable NuGet release.