Fork me on GitHub

Version 1.2.0 released

Features / Changes

  • The Glow (window) should not be clickable #1829
  • Add a tooltip text converter to RangeSlider for lower and upper value tooltip #1833 (@Alkalinee)
  • Changable Margin of ContentPresenter in MetroListBoxItem #1892 (@ye4241)
  • LoginDialog Password preview feature #1873 #1546 (@bitbeans, @djengineerllc)
  • WaitUntilUnloadedAsync for custom dialogs #1910 #1910 (@IsNull)
  • New Culture dependency property for NumericUpDown #1874 (@panastas91)
  • WindowCommands height span now the entire height of the title bar #1902 (@Dotnetifier)
  • Add support for initial password in login dialog #1915 (@Stoom)
  • The FontSize in Dialogs is now changeable #1941
  • Add mechanism for easy access of a dialog from a view model #1943 (@ButchersBoy)
    • Use attached property in Window XAML: Dialog:DialogParticipation.Register="{Binding}"
    • And then IDialogCoordinator / DialogCoordinator.Instance to launch dialogs from inside a VM
    • See: http://dragablz.net/2015/05/29/using-mahapps-dialog-boxes-in-a-mvvm-setup/
  • ToggleSwitch improvements and fixes #1945
    • new dependency property ToggleSwitchButtonStyle and style key MetroToggleSwitchButton
    • BorderThickness and BorderBrush for toggle button style now customizable
    • new font keys
      • ToggleSwitchFontFamily and ToggleSwitchHeaderFontFamily
      • ToggleSwitchFontSizeand ToggleSwitchHeaderFontSize
    • new dependency properties to change brushes
      • OnSwitchBrush and OffSwitchBrush
      • ThumbIndicatorBrush and ThumbIndicatorDisabledBrush
    • new dependency property ThumbIndicatorWidth
    • Validation.ErrorTemplate support #1917
    • Keyboard focus if the ToggleSwitch itself or the toggle button was clicked
    • Fixed on/off label binding issue #1867
    • introduce commands for mvvm usage #1464
      • CheckChangedCommand, CheckedCommand and UnCheckedCommand
      • CheckChangedCommandParameter, CheckedCommandParameter and UnCheckedCommandParameter
  • New ComboBoxHelper attached properties MaxLength and CharacterCasing #1949 #1948
  • DropDownButton improvements #1952 #1574
    • new ButtonStyle dependency property and new style key ButtonDropDownStyle for the default
    • new ArrowBrush and ArrowVisibility dependency properties
    • fix alignement and margins, better focus handling
    • new MenuStyle dependency property
    • new IconTemplate dependency property
  • Watermark on ComboBox where IsEditable="False" #1958 #1953
  • New SelectAllOnFocus dependency property for NumericUpDown (with default to true like ComboBox does)
  • Possiblity to define the width of the NumericUpDown up and down buttons #1962 (@Prophetebe)
  • SplitButton improvements #1977
    • new ButtonStyle, ButtonArrowStyle dependency properties and new style keys ButtonSplitStyle, ButtonSplitArrowStyle
    • new ArrowBrush and ArrowVisibility dependency properties
    • fix alignement and margins, better focus handling
    • new ListBoxStyle dependency property
    • new IconTemplate dependency property
  • Set AssemblyCompany to MahApps #1985 (@DaCheeseMan)
  • Expander improvements #1988
    • Styling fixes (margin, padding, border thickness)
    • new ExpanderHelper with
      • 4 new attached dependency properties HeaderUpStyle, HeaderDownStyle and HeaderLeftStyle, HeaderRightStyle. So it’s now possible to create your own header toggle styles without rewriting the Expander style.
    • Better handling with BorderThickness property, the Expander uses now the new value converter ThicknessBindingConverter, so setting the BorderThickness is much better than before.
    • Click on Expander header support #1291 (just do the default expander behavior)
    • For GroupBox
      • Styling fixes (margin, padding, border thickness)
      • Better handling with BorderThickness property.
  • Support for multiple dialogs #1974
  • Improved DataGrid row and cell color styling #2004
  • New attached dependency property DisabledVisualElementVisibility for TextBox, PasswordBox, RichTextBox and NumericUpDown, this makes it easier to hide this element if we don’t want/need it in special cases (inside other controls or using in a DataGrid).
  • Add Minimum, Maximum properties to ProgressDialogController #2013 #1702
  • New ButtonsAlignment (attached) property to have possibility to set NumericUpDown (TextBox) buttons on the left side #2024 (@QuantumDeveloper)
  • Support for CancellationToken to cancel dialogs #2022 #2018 (@thoemmi)
  • Changed default value of ProgressRing.IsActive to true #2029
  • MetroDialogs fixes and changes #2032 #1149
    • DialogSettings property is now public
    • New property CustomResourceDictionary for DialogSettings
    • New virtual method OnLoaded
  • TreeView style enhancements #2041
    • fix some styling issues and enable virtualization
    • introduce VirtualisedMetroTreeView
  • SelectAllOnFocus for input and login dialogs #1750
  • New MetroValidationPopup style and new CloseOnMouseLeftButtonDown dependency property #2058 #1469
  • Progress bar in ProgressDialog is not set to Indetermined by default anymore, must be set explicitly by calling ProgressDialogController.SetIndeterminate() #2097
  • Added Closed event to ProgressDialogController #2097
  • Catch ConfigurationErrorsException if the user.config file is corrupt #2112 (@Remolutionary)
  • Only apply SizeToContent workaround when necessary #2116 (@tgjones)
  • Canceled event (and IsCanceled property) for ProgressDialogController #2150 (@bigworld12)
  • New attached property Controls:ControlsHelper.ContentCharacterCasing for ContentControl, DropDownButton and in the future for WindowCommands
    • Fixes #1701: DropdownButton with all UpperCase label
    • Remove PreserveTextCase attached property from ControlsHelper (it was introduced in alpha version)
    • Mark ButtonHelper PreserveTextCase attached property as obsolete
    • Use ContentCharacterCasing for MetroDataGridColumnHeader and MetroGridViewColumnHeader too
  • Dynamic theme for window commands #2152 (@crumbl3d)
    • Fixed WindowCommandsItem visibility #2175
  • StatusBar’s background color now matches the title bar #2173 #2174 (@thoemmi)
  • Change Slidervalue on MouseWheel event. #2171 (@xxMUROxx)
  • New MetroThumb in order to be better in Touch environment #1853 (@ycaoyang)
  • NumericUpDown with Integer only option #2065 (@feinstein)
  • CornerRadius for ComboBox #2207
  • Font related dependency properties for DataGridNumericUpDownColumn #2205
    • FontFamily, FontSize, FontStyle, FontWeight
    • Foreground, which will override the DataCell foreground inheritence
  • New ContentControlEx to reduce some boilerplate XAML code
    • Used for all possible ContentCharacterCasing usage (Button, GroupBox, Expander, ListView columns, DataGrid columns, DropDownButton, SplitButton, WindowCommands, TabItem)
  • Copy command for the message text in MessageDialog #2223 (@akinyooa)
  • New option to hide username on LoginDialog #2230 (@mgnslndh)
  • Use a Thumb for Window DragMove #2226
  • ComboBox style respects textbox helper button content property #2264 (@ButchersBoy)
  • Show Tile as disabled #2263 #2262 (@xxMUROxx)
  • New dependency property CloseButtonIsCancel for Flyout close button #2256 (@BlythMeister)
  • New property DefaultButtonFocus for default focused button in MessageDialog #2265 (@BlythMeister)
  • UseFloatingWatermark for NumericUpDown #2202 #2245 (@xxMUROxx)
  • Set Opacity to .55 if SplitButton /DropDownButton is disabled #2272 (@p76984275)

Bugfixes

  • Fixed resizing cursors #1830
  • Fixed external dialog flickering #1845 #1859
  • Fixed a MetroProgressBar performance issue #1855 #1860 (@zandrei007)
  • Fixed Win32Exception Invalid window handle thrown when IgnoreTaskbarOnMaximize bound to a true value #1880 #1883
  • Fixed flickering glow window borders (on resizing) #1864
  • Fixed exception in Visual Studio Designer with CustomDialog #1850 (@marcpiechura)
  • Fixed NumericUpDown IsReadonly issue #1840 (@xxMUROxx)
  • Fixed ThemeManager issue if resource source case in App.xaml does not match #1759 (@sickboy)
  • Fixed validation popup location flicker #1925 #1922
  • Fixed fullscreen using window FlowDirection="RightToLeft" #1927 #1924
  • Fixed possible System.NullReferenceException for HandleTheme in BaseMetroDialog #1933 #1931
  • Fixed blurred arrows in TreeView #1934 #1907
  • Fixed ResizeGrip usage by setting the WindowChrome ResizeGripDirection #1937 #1832
  • Fixed wrong overlapping window button commands with ShowInTaskbar=False #1940 #1912
  • Fixed IsReadOnly usage/binding for NumericUpDown (and TextBox…) #1942 #1914
  • Fixed ToggleSwitch validation shows red border but doesn’t show error text #1917 #1945
  • Fixed MVVM Binding for OnLabel/OffLabel at ToggleSwitch #1867 #1945
  • Fixed focus problem with NumericUpDown #1903 #1959
  • Fixed JIT Compiler encountered an internal limitation #1919 #1971
  • Fixed access keys in CheckBox, RadioButton, and GroupBox #1979
  • Fixed close Message dialog when pressing Enter or Esc #1976 #1980
  • Fixed creating a Task instance doesn’t execute it #1997 (@thoemmi)
  • Fixed possible System.OverflowException with IntPtr.ToInt32() on Win 8 or Win Server 2012 #1993 #1996
  • Fixed show/hide overlay only when first dialog is shown or last dialog was closed #1998
  • Fixed NumericUpDown for runtime changes to StringFormat and Culture properties #2001
  • Fixed DataGrid row conditional foreground #1939 (@spaccabit)
  • Fixed overriding DataGridRow style (e.g. row selection) #1876, #1492, #1243, #809
  • Fixed DataGridNumericUpDownColumn styling #1878
  • Fixed missing DataGridRow validation #1930
  • Fixed System.Windows.Media.Animation warnings with MetroProgressBar #2012
  • Fixed an issue with RangeSlider with binding and values between ticks #2006 (@drayde)
  • Fixed ScrollBarHelper.VerticalScrollBarOnLeftSide usage #2025
  • Fixed not updating Pivot’s header selected item when modify the Selected-Pivot-Item by code #2010 (@ycaoyang)
  • Fixed ProgressDialog cannot find the AccentColorBrush resources #1149
  • Fixed using TextBoxHelper.ClearTextButton on a NumericUpDown won’t rise its value changed event #2031
  • Fixed MetroCircleToggleButtonStyle BorderBrush not using TemplateBinding #1573
  • Fixed databound TreeViewItem does not respond to changes when inside MahApps window. #2038
  • Fixed TreeView usage with large data #1896 #2041
  • Fixed ValidationError popup shows only first char of the error string #1926
  • Fixed usage of TextmarkHelper.Watermark with Caliburn.Micro #1059
  • Fixed not changable background color of a checkbox or radio button #1906
  • Fixed Padding usage for MetroTabItem: How to increase the spacing between Tab Items? #2074
  • Fixed obj ref null exception if there is no Window Theme at runtime. #2087 (@ButchersBoy)
  • Fixed border for tiles #2063 (@bigworld12)
  • Fixed ReadOnly, TabIndex, TabStop and manually input stuff for NumericUpDown #1818
  • Fixed Watermark/Text Alignment of DatePicker and NumericUpDown controls #1683
  • Fixed missing Glow border corners #2143 #2118
  • Fixed incorrect restore location after Aero Snap #2144 (@tgjones)
  • Removed unneeded MessageDialogStyle param from IDialogCoordinator.ShowLoginAsync method #2146 (@acejordin)
  • Fixed RangeSlider memory leak #2064
  • Fixed closing a MetroTabItem added from a child #1278
  • Fixed nasty bug when using OverrideDefaultWindowCommandsBrush #2086
  • Fixed ProgressBar ignoring ‘IsIndeterminate’ value #2180 #2184
  • Fixed WindowCommands.ShowSeparators="False" is ignored #2188 #2195
  • Fixed missing ContentCharacterCasing for ToggleButton #2197
  • Fixed ComboBox watermark padding issue with IsEditable states #2210
  • Fixed missing ContentCharacterCasing for TabItem #2209
  • Fixed style inheritence of MetroAnimatedTabControl style #2219
  • Fixed NumericUpDown culture problem #2149 #2199 (@fredericoregateiro)
  • Fixed floating watermarks #2236 #2225 (@Dotnetifier)
  • Fixed not draggable Window when Flyout is open #1821 #1635 #2226
  • Fixed AvalonDock anchorables could not be dragged inside MetroWindow #2036 #2226
  • Fixed System menu present everywhere when fullscreen is toggled on #1849
  • Fixed not possible to format NumericUpDown value as hexidecimal #1375 #2245 (@xxMUROxx)
  • Fixed NumericUpDown when setting maximum in code behind #1885 #2245 (@xxMUROxx)