MahApps.Metro 1.4.1

@punker76 punker76 released this Jan 5, 2017

Changes / Fixes

  • #2793 StringToVisibilityConverter should handle null like an empty string
  • #2796 HamburgerMenu SelectedIndex Fix
  • #2797 Fix NumericUpDown using UseFloatingWatermark
  • #2789 Prevent the MetroDataGridCheckBox from being toggled by a TAB + SPACE when the cell is supposed to be read only.

Closed Issues

  • #2795 NumericUpDown Watermark is shown twice when using floatingwatermark for textboxes
  • #2788 MetroDataGridCheckBox cell can be changed when IsReadOnly via keyboard + space
  • #2785 Vailidation tooltips does not show.
  • #2780 External Dialogs not visible with MainWindow set to IgnoreTaskbarOnMaximize


MahApps.Metro 1.4.0

@punker76 punker76 released this Dec 22, 2016 · 13 commits to master since this release

Features / Changes / Fixes

  • Don't focus flyout on close #2671 (@ButchersBoy) This hack was introduced with #1805 which was noticed by manual testing.

  • Don't focus the FlyoutsControl

  • Fix another TopMost issue: If the window is top most and you switch to another window the top most will be gone.

  • Change icon for TimePicker #2700 (@p76984275)

  • Icon scaling #2667 (@thoemmi)

    • New property IconScalingMode to MetroWindow. It's forwarded to MultiFrameImage.MultiFrameImageMode to set the icon scaling.
      • MultiFrameImageMode.ScaleDownLargerFrame
        It takes the smallest frame which from the icon which has equal or larger size as the window's icon template. The frame is scaled down it's larger.
      • MultiFrameImageMode.NoScaleSmallerFrame
        It takes the largest frame from the window which has equal or smaller size than the window's icon template. The frame is rendered centered if it's smaller.
  • Changes for DateTimePicker and TimePicker #2710

    • Change DateTimePicker.SelectedDate to BindsTwoWayByDefault. The reason is that we do not have to use Mode=TwoWay explicit, and DatePicker.SelectedDate has BindsTwoWayByDefault too.
    • [Fix] Issue where Binding issues on DateTimePicker/TimePicker are shown on the output window
    • [Fix] Issue where Hour 0 is not shown when using 24h clock
    • Fix issue where clearing text does not immediately set value to null but 00:00:00 and 0001.01.01 00.00.00 respectively
    • Change icon for TimePicker #2700 (@p76984275)
    • Hide DateTimePicker and TimePicker on lost focus. Fix also Shift+Tab focus moving.
  • New SplitView and HamburgerMenu control #2704

  • New dependency properties for MetroWindow to set the brush and opacity for the overlay if a dialog is shown.

    • OverlayBrush sets the brush used for the dialog overlay.
    • OverlayOpacity sets the opacity used for the dialog overlay (0 = disabled, 1 = full overlay).
  • The TextBox's with the styles MetroButtonTextBox and SearchMetroTextBox can now use the button also if IsReadOnly="True" (only if the button command is set)

  • New AutoWatermark attached property at TextBoxHelper #2722 (@xxMUROxx) which is able to get the DisplayAttribute from the bound property in following cases:

    • Binding that is supported
      • "{Binding Path=Property}"
      • "{Binding Path=Property.SubProperty}"
      • "{Binding Path=CollectionProperty}"
      • "{Binding Path=CollectionProperty[0].SubProperty}"
    • Binding that is not supported
      • "{Binding Path=CollectionProperty[0]}"
    • This property is available for TextBox, ComboBox, NumericUpDown, DatePicker, TimePicker and DateTimePicker
  • Flyout changes for better Margin usage

    • This changes affects only users who used the sample from the source which shows how to use the FlyoutsControl actual width and a Margin for the Flyout
    • It's now possible to work without the actual width and use only the Margin or HorizontalContentAlignemnt for Left/Right and VerticalContentAnlignment for Top/Bottom Flyout.
      • Margin="200 30 0 0" and Position="Right" Flyout with left an top Margin
      • HorizontalContentAlignment="Stretch" and Position="Right" Flyout which covers the whole window
  • Changed style names (and changes, see #2767) for

    • Default Button (ButtonBase) -> MahApps.Metro.Styles.MetroButton
    • Default ToggleButton -> MahApps.Metro.Styles.MetroToggleButton
  • Fixed Expander closing animation and make it possible to change both animations (expand and collapse). #2769 (@ Alkalinee)

  • Updated TabControl and TabItem style for VS #2768

    • Handle TabStripPlacement
    • Default close button action (no closing event yet)
  • TextBox ContextMenu changes #2772, #2758 by @Deadpikle

    • If you want to use the default context menu items cut, copy and paste you must do nothing
    • If you want to use your own context menu items without the default items you must do this
    <TextBox Text="Yeahh">
                <MenuItem Header="This is only a Test-Item" />
    • If you want to use your own context menu items with the spell checker items then you must do this
    <TextBox Margin="{StaticResource ControlMargin}"
                <MenuItem Header="This is only a Test-Item" />
    • If you want to use your own context menu items with the deafult items then you must do this
    <TextBox Controls:TextBoxHelper.ClearTextButton="True"
                <MenuItem Header="Custom Item" />
                <Separator />
                <MenuItem Style="{DynamicResource MetroMenuItem}" Command="ApplicationCommands.Cut" />
                <MenuItem Style="{DynamicResource MetroMenuItem}" Command="ApplicationCommands.Copy" />
                <MenuItem Style="{DynamicResource MetroMenuItem}" Command="ApplicationCommands.Paste" />
  • CustomDialog improvements #2775

    • New overloaded generic method ShowMetroDialogAsync to create and show custom dialogs (self created dialogs which are inherited from CustomDialog)
    // create and show a new custom dialog of the given type with the default dialog settings
    var customBaseMetroDialog = await this.ShowMetroDialogAsync<CustomBaseMetroDialog>();
    // create and show a new custom dialog of the given type with own settings
    var customBaseMetroDialog = await this.ShowMetroDialogAsync<CustomBaseMetroDialog>(this.metroDialogSettings);
    • Better handling for dialogs settings also with the already available ShowMetroDialogAsync method
    // create and show custom dialog with default settings
    await this.ShowMetroDialogAsync(new CustomBaseMetroDialog());
    // create and show custom dialog with own settings
    await this.ShowMetroDialogAsync(new CustomBaseMetroDialog(this.metroDialogSettings));
    // or
    await this.ShowMetroDialogAsync(new CustomBaseMetroDialog(this, this.metroDialogSettings));
    • It's now also possible to configure the dialog settings at the custom dialogs class itself.
    protected override MetroDialogSettings ConfigureSettings(MetroDialogSettings settings)
        return new MyCustomDialogSettings();
    • Here is the source for the given samples
    <dialogs:CustomDialog x:Class="ShowMetroDialogAsyncIssue.CustomBaseMetroDialog"
        d:DesignHeight="300" d:DesignWidth="300"
            <TextBlock Text="This is a custom dialog based on BaseMetroDialog" />
            <Button Click="Close_OnClick">Close</Button>
    namespace ShowMetroDialogAsyncIssue
        using System.Windows;
        using MahApps.Metro.Controls;
        using MahApps.Metro.Controls.Dialogs;
        public partial class CustomBaseMetroDialog : CustomDialog
            public CustomBaseMetroDialog()
            public CustomBaseMetroDialog(MetroDialogSettings settings) : base(settings)
            public CustomBaseMetroDialog(MetroWindow parentWindow, MetroDialogSettings settings) : base(parentWindow, settings)
            private void Close_OnClick(object sender, RoutedEventArgs e)
                (this.OwningWindow ?? (MetroWindow)Application.Current.MainWindow).HideMetroDialogAsync(this);

Closed Issues / Pull Requests

  • #2674, #2671 Null Reference Exception in BorderlessWindowBehavior.TopMostChangeNotifierOnValueChanged (@mikeasage)
  • #2671 Proposal - Dont focus flyout on close
  • #2699 [Suggestion] TimePicker & DateTimePicker Icon
  • #2480 Windows 10 SplitView
  • #2715 Center mouse click crashes applications on some PCs with an Arithmetic Overflow Exception
  • #1709 Disable transparency or hide controls in background
  • #2497 Custom dialog background and foreground
  • #2720 DateTimePicker does not hides for Date Change
  • #2713 Weird animation on combobox with only one item
  • #2746 WindowCommands - Toggle Button And Button Access Key Not Underlined When Pressing Alt
  • #2744 Flyout IsPinned = False/True
  • #2737 Design for textbox
  • #2678 SearchMetroTextBox style, IsReadOnly
  • #2435 BackgroundToForegroundConverter returning color may be changed in some accents?
  • #2712 TextBox "Auto" Watermark-text
  • #2694 Maximized Window is "Always on Top" when IgnoreTaskbarOnMaximize=True. Window remains "Always on Top" on Restore
  • #2734 Mahapps UI is locked in Dialog Window after re-login
  • #2338 Impossible to toggle the visibility of TitleBar with UseNoneWindowStyle!
  • #2750 Fix for FlipView : Navigation's button visibility and Transition update
  • #2216 Flyout with a margin does not slide out properly
  • #2752 Unable to change the MessageDialog highlighted button
  • #2687 Implement SecureStrng into LoginDialogData and ShowLoginDialog
  • #2756 Flyout Position top element focus inhibited by title bar
  • #2755 MetroAnimatedTabControl first tab font not changing
  • #2760 DatePicker SelectionBackground doesn't match accent color
  • #2766 Flyout - Strange issue with a listview
  • #2767 Button Border not Transparent when Focused.
  • #2346 TabControl with VS style
  • #2090 VS TabItem
  • #1890 How do i use the CloseCommand in StandardTabControl with VS Style
  • #2261 ComboBox context menu.
  • #2774 Fix DataGridRowHeader HorizontalAlignment
  • #2735 MetroWindow.ShowMetroDialogAsync odd behaviour with provided DialogSettings


MahApps.Metro 1.3.0

@punker76 punker76 released this Sep 23, 2016 · 116 commits to master since this release

  <iconPacks:PackIconMaterial Kind="EmoticonCool" Height="32" Width="32" />  
  <iconPacks:PackIconModern Kind="Cupcake" Height="24" Width="24" />  
  <iconPacks:PackIconFontAwesome Kind="FontAwesome" Height="16" Width="16" />  
  <iconPacks:PackIconEntypo Kind="ThumbsUp" />  
  • New Auto Close feature for Flyout #2228 #1710 (@Sikta)
    • Enable this by set IsAutoCloseEnabled to true
    • Time changable by AutoCloseInterval (default 5000 ms)
  • Fix PasswordBoxBindingBehavior and IsWaitingForData #2355
    • Fixed: Behaviors in StylizedBehaviors should be detached on unload
    • Fixed: PasswordBoxBindingBehavior, it doesn't work e.g. in TabControl TabItems
    • IsWaitingForData for MetroButtonTextBox, MetroPasswordBox, MetroButtonPasswordBox, MetroButtonRevealedPasswordBox
    • PackIconMaterial Eye and ClearTextButton feature for MetroButtonRevealedPasswordBox
  • Added ContentStringFormat TemplateBinding to ToolTip #2359 (@nrpog) #2363
  • ControlsHelper.ButtonWidth for ComboBox and other stuff #2365
    • set ChromelessButtonStyle Padding to 0
    • new dependency property ButtonContentTemplate in TextBoxHelper
    • fix width of ClearText button if height change, e.g. for floating watermark
    • fix background state colors (IsPressed, IsMouseOver)
    • new own sytle MetroComboBoxDropDownToggleButtonStyle for ComboBox toggle button
  • Added EllipseDiameterScale to ProgressRing #2204 #2382 (@petvetbr)
  • WindowButtonCommands enhancements #2378
    • use ContentPresenter to show the WindowButtonCommands, so it's now possible easier to change the min/max/close button styles
    • enable changing min/max/restore/close button tooltip
    • new Win10 style/template: MahApps.Metro.Styles.WindowButtonCommands.Win10 and MahApps.Metro.Templates.WindowButtonCommands.Win10
  • Minor Automation API support for Flyouts and NumericUpDown #2381 #2166 (@petvetbr)
  • Dialog font sizes setting implementation #2380 #2383 (@petvetbr, @punker76)
    • changable via DialogTitleFontSize and DialogMessageFontSize
  • New attached dependency property TextButton in TextBoxHelper which handles the visibility of the button in MetroButtonPasswordBox and MetroButtonTextBoxstyles #2387
  • Win10 ToggleSwitch and ToggleSwitchButton #2410
    • ToggleSwitch is now inherited from HeaderedContentControl
    • new dependency property HeaderFontFamily for ToggleSwitch
    • new Win10 and Metro styles
      • MahApps.Metro.Styles.ToggleSwitchButton.Win10, MahApps.Metro.Styles.ToggleSwitch.Win10
      • MahApps.Metro.Styles.ToggleSwitchButton, MahApps.Metro.Styles.ToggleSwitch
    • new Win10 font family and size keys
      • ToggleSwitchFontFamily.Win10, ToggleSwitchHeaderFontFamily.Win10
      • ToggleSwitchFontSize.Win10, ToggleSwitchHeaderFontSize.Win10
    • fixed broken IsPressed state
    • new brushes for the Win10 styles
    • new brush and color keys for all accent colors: AccentBaseColor and AccentBaseColorBrush (full color)
  • Flyout changes
    • SetFlyoutOpenAction is now obsolete
    • new/update template names BackButton, BackHeaderText
    • new CloseCommandParameter dependency property
  • FlipView changes
    • MouseOverGlowEnabled is now obsolete, use MouseHoverBorderEnabled instead
    • new MouseHoverBorderBrush and MouseHoverBorderThickness dependency property
  • New dependency property CircularNavigation for the FlipView #2389
  • BindsTwoWayByDefault removed from IsActiveProperty of ProgressRing #2438 (@xxMUROxx)
  • Fix Flyout theme usage in Caliburn.Micro sample
  • New dependency properties for Tile control: HorizontalTitleAlignment and VerticalTitleAlignment #2293
  • New attached dependency properties TextBoxHelper.ButtonFontSize #2345 Also add a new font size ClearTextButtonFontSize (default to 16) for all 'ClearText' buttons
  • Added a MetroFlatToggleButton style like MetroFlatButton #2481 (@Koopakiller)
  • New MetroThumbContentControl for MetroWindow title #2487
    • It's now possible again to have title templates with clickable controls
    • Replaced TitleCaps with TitleCharacterCasing (marked as obsolete). Now title can be Upper, Lower or Normal
    • Add new styles MahApps.Metro.Styles.ContentControlEx and MahApps.Metro.Styles.MetroThumbContentControl
  • Flyout improvement caused by #2485 #2523
    • use ContentControlEx for header, so it's now possible to use ControlsHelper attached properties ContentCharacterCasing, HeaderFontSize, HeaderFontWeight and HeaderFontStretch
    • new attached property ControlsHelper.HeaderMargin to handle the Margin from Flyout side
  • New dependency property ShowDialogsOverTitleBar for `MetroWindow? which allows showing title bar while showing dialogs (fixes #2109) #2534 (@Deadpikle)
  • Store/Restore focused element methods which will be used automatically with dialogs (but can be also used explicit) #2532
  • Added new methods ShowModalInputExternal, ShowModalLoginExternal and ShowModalMessageExternal. #2518 (@adeniltonbs)
  • New brush keys NonActiveWindowTitleColorBrush and NonActiveBorderColorBrush
  • Add IsNavigationEnabled Property in FlipView #2563 (@yoker)
  • Another SplitButton and DropDownButton fixes #2572
    • change SplitButton to Selector to get access to SelectedValuePath and SelectedValue
    • fixed Popup alignmentand close Popup on button click
    • add ItemsPanel template binding
    • add 2 new dependency properties ArrowMouseOverBrush, ArrowPressedBrush
    • enable Items usage (for SplitButton and DropDownButton)
    • add new dependency properties ContentTemplate, ContentTemplateSelector and ContentStringFormat for DropDownButton, if this proeprties are empty DropDownButton will be use the ItemXYZ properties
    • add protected virtual void SetContextMenuPlacementTarget(ContextMenu contextMenu) to DropDownButton
  • Glow activation/resizing/dpi fixes #2581
    • mouse activation bug if the MetroWindow uses a Glow
    • resizing/cursor bug on higher DPI
    • the glow can come on top if the main app has a second window and the user minimize and restore the main app again
    • the window doesn't zoom in vertical height if the user double clicks on the top Glow
  • Introduce new styles for circle button and circle toggle button which removes the non removable inner margin.
    • MahApps.Metro.Styles.MetroCircleButtonStyle
    • MahApps.Metro.Styles.MetroCircleToggleButtonStyle
    • MahApps.Metro.Styles.MetroCircleFocusVisual

Closed Issues

  • #2003 "VisualButton" That makes working with the XAML icons easier
  • #2114 Icon color not changing on theme change (as #1029)
  • #2275 Embed Material Design Icons (in addition to Modern UI Icons)?
  • #1710 New "Auto Close" feature for Flyouts
  • #2354 TextBoxHelper.ButtonClicked should pass ButtonCommandParameter to ButtonCommand.CanExecute
  • #2343 Win8MetroPasswordBox Preview does not work with Tabcontrol (item > 1)
  • #2352 Can't set ComboBox buttons width with ControlsHelper.ButtonWidth
  • #2370 Pasting over selection in NumericUpDown doesn't work #2371 (@michaelprewecki)
  • #1901 ThemeChanging causing app crash
  • #1439 ComboBox in Toolbar closes if Scrollbar track/button is clicked
  • #1972 Changing Close button icon
  • #2166 Controls Do not get distinct automation ID's
  • #2204 Progress ring dot scaling seems to be wrong (1.1.2)?
  • #2380 Missing FontSize Property for ProgressDialog/ShowProgressAsync
  • #2385 ButtonCommandMetroTextBox text displaid over icon.
  • #2220 Why in the MetroButtonTextBox the visibility of PART_ClearText is not managed as the MetroTextBox?
  • #2311 ComboBox won't toggle closed in ribbon
  • #2396 ShowMetroDialogAsync does not raise DialogManager.DialogOpened event.
  • #2402 Window Command ItemSource Binding
  • #2403 NumericUpDown HasDecimals Is Broken. #2404 (@feinstein)
  • #2415 ToggleSwitch "Click" event not triggered #2421
  • #2413 Focusable (Selectable) Text in MessageDialog
  • #2409 MetroWindow can be closed while a modal dialog is shown
  • #2348 Thumb height of slider control
  • #2340 How to change Datagrid Header Background using our custom style and based on MetroColumnHeader?
  • #2390 PasswordBox CapsLockIndicator is not refreshed when host window is inactive
  • #2416 WPF inside WF, Cannot close Flyouts and FlyView doesn't select
  • #2432 Modal Flyouts Window Not Dragable
  • #2333 FlipView SelectedIndex resetting bug
  • #2214 Is there a way to control the "PART_GlowBorder" thickness in FlipView?
  • #2126 FlipView.HideControlButtons() does not disable arrow keys.
  • #2395 MahApps.Metro resource icons cannot be used repeatedly
  • #2389 Circular FlipView
  • #2056 ToggleButton foreground color when selected
  • #1823 Cannot fully programatically maximize window.
  • #2414 Focus is lost after a dialog is closed
  • #2332 Calendar ignores IsTodayHighlighted property
  • #2420 ShowmessageAsync Cancellation Exception #2454 (@MatthewKinsman)
  • #2293 Align Tile Title
  • #2459 MetroDialogSettings not being propagated to ProgressDialog by DialogManager
  • #2462 Should a click on a MetroTabItems close button really clear the buttons Command and CommandParameter properties?
  • #2345 Can't edit TextBoxHelper.ClearTextButton properties
  • #2474 right to left DatePicker
  • #2476 MetroWindow OnClosing exception (.Net 4.0)
  • #2339 The Glow border does not follow the window is is used the UseNoneWindowStyle property!
  • #2477 Create a custom Thumb for the title DragMove
  • #2449 Visual bug while using RightWindowCommands
  • #2495 Default for ControlsHelper.HeaderFontSizeProperty should be SystemFonts.MessageFontSize
  • #2479 DefaultButtonFocus Not Working As Expected PR #2505
  • #2514 NumericUpDown UseFloatingWatermark Issue
  • #2485 Hiding close button and title leaves blank space in top-positioned flyouts #2485
  • #2531 Setting TitleFontSize & CountFontSize in Tile is no longer working
  • #2109 Size of MahApps Dialog background..
  • #2538 Focus Message Dialog from flyout
  • #2537 Bad contrast in ProgressDialog's progress bar
  • #2532 ProgressDialog close causes loss of focus on child control
  • #2486 DateTimePicker right click menu appearance
  • #2524 DatePicker and DateTimePicker UseFloatingWatermark don't work
  • #2269 Make Controls:TextBoxHelper.UseFloatingWatermark="True" work for DatePicker
  • #2525 System.Windows.Media.Animation.DoubleAnimation' cannot use default origin value of 'Infinity
  • #2552 How to hide flyout title
  • #2556 Interact with DialogController from Background Thread (@xxMUROxx)
  • #2473 Cannot use DialogCoordinator from background threads.
  • #2551 Feature Request: NonActiveWindowTitleColorBrush
  • #2542 NumericUpDown SelectAllOnFocus doesn't work
  • #2148 MetroProgressBar orientation does not work (@petvetbr) #2379
  • #2492 MetroProgressBar / IsIndeterminate / Animation Warning 6
  • #2504 DataGrid causes lag when switching content PR #2570
  • #2374 SplitButton: Add SelectedValuePath and SelectedValue property
  • #2540 Popup in SplitButton is aligned wrong
  • #2457 Splitbutton Popup doesn't close
  • #2215 SplitButton does not respect GroupStyle
  • #2185 SplitButton IsPressed trigger won't change Foreground
  • #2360 SplitButton Items
  • #2078 Fill DropDownButton items without Binding
  • #2051 DropDownButton and SplitButton doesn't works
  • #2224 DropDownButton uses ItemTemplate template binding twice
  • #2569 DropDownButton popup placement
  • #2574 SplitButton Popup Doesn't Close After Alt+Tab (@Deadpikle) #2621
  • #2498 Vertical space for Title still being taken up even though Title is blank
  • #2577 Window Resizing Erroneously Acts Deferred
  • #2279 Corner resize issues with GlowBrush enabled
  • #2591 Weird MetroProgressBar animation with IsIndeterminate=true
  • #1191 Missing style for RepeatButton
  • #2584 ComboBox UseFloatingWatermark Issue
  • #2598 DatePickerTextBoxBehavior NullReferenceException
  • #2611 SliderHelper.EnableMouseWheel is working only once when using TabControl
  • #2618 IgnoreTaskbarOnMaximize stopped working after windows 10 anniversary update. (@igorushi, @punker76)
  • #2635 Showing any Window before Main Window causes Left and Right window commands not work properly.
  • #2656 Flyout problem with ActualWidth


MahApps.Metro 1.2.4

@punker76 punker76 released this Jan 21, 2016 · 699 commits to master since this release


  • #2288 First 30 units of flyout aren't clickable
  • #2324 DataGrid activated by Titlebar (rows are hovered while dragging a window over a DataGrid)
  • #2287 IsWindowDraggable broke starting in 1.2


MahApps.Metro 1.2.3

@punker76 punker76 released this Jan 16, 2016 · 730 commits to develop since this release


  • #2320 Fixed window can't be moved around using a touch screen


MahApps.Metro 1.2.2

@punker76 punker76 released this Jan 12, 2016 · 734 commits to master since this release


  • Fixed strong sign assembly stuff


MahApps.Metro 1.2.1

@punker76 punker76 released this Jan 12, 2016 · 735 commits to master since this release


  • Fixed hidden focus for TextBox control (and other input controls) #2296 #2304
  • Fixed not working TextBoxHelper.SelectAllOnFocus="True" #2307 (@sachokFoX)


MahApps.Metro 1.2.0

@punker76 punker76 released this Dec 31, 2015 · 752 commits to master since this release

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


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


MahApps.Metro 1.1.2

@punker76 punker76 released this Mar 1, 2015 · 1341 commits to master since this release


This is a bug fix release of MahApps.Metro.

Bugfixes / Changes

  • Added alignment properties for MetroDataGridRowHeader style #1819
  • Fixed Gripper for MetroDataGridRowHeader style #1822
  • Fixed runtime change of IgnoreTaskbarOnMaximize with a maximized window (there was a bug with the frame) #1823 (39a7e05)
  • Fixed upgrading the WindowPlacementSettings on version change #1787 #1736 (ada352b)
  • Fixed a painting issue of the entire window and the maximize action (5ae97f9)
  • Fixed another Topmost bug: Window is going behind other windows on program start #1251 (6b0a8fa)
  • Fixed brief flashing window when launched (e.g. from the explorer) #1781 (4b42fe0)