A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.
As part of this release we had 894 commits which resulted in 298 issues being closed.
Breaking Changes
Bugs
Bug Fixs
Features
Feature Requests
Improvements
Hacktoberfest
You can download this release from MahApps.Metro
As part of this release we had 1 commit which resulted in 1 issue being closed.
Bug
You can download this release from MahApps.Metro
As part of this release we had 2 commits which resulted in 1 issue being closed.
Bug
You can download this release from MahApps.Metro
As part of this release we had 7 commits which resulted in 3 issues being closed.
Bugs
You can download this release from MahApps.Metro
As part of this release we had 29 commits which resulted in 7 issues being closed.
Bugs
You can download this release from MahApps.Metro
As part of this release we had 4 commits which resulted in 2 issues being closed.
Bugs
You can download this release from MahApps.Metro
As part of this release we had 362 commits which resulted in 153 issues being closed.
Features / Changes / Improvements (most interesting)
MahApps.Metro.Styles.MetroWatermarkTextBlock
style to make it easier to set custom properties like FontFamily
or FontSize
for all Watermarks.WindowChrome
and related things with reference to ControlzEx
#3021
NumericUpDown
SnapToMultipleOfInterval
property for NumericUpDown
which indicates if the NumericUpDown
should round the value to the nearest possible interval when the focus moves to another element. #2952 @xxMUROxx
NumericInputMode
property with the new flag enumeration NumericInput
(default is NumericInput.All
)HasDecimals
as obsoleteNumericUpDown
, HotKeyBox
and TimerPickerBase
doesn't focus for the first time when the FocusManager will be used.ComboBox
via resource keys
ComboBoxBorderThemeThickness
(default 1)ComboBoxPopupBorderThemeThickness
(default 1)ComboBoxPopupBorderThemePadding
(default 1)GroupBox
and Expander
via resource keys
GroupBoxHeaderThemePadding
(default 4)ExpanderHeaderThemePadding
(default 2)ExpanderToggleButtonEllipseThemeSize
(default 18)Badged
control has now a different look when disabled. thx @xxMUROxx
MahApps.Metro.Brushes.Badged.DisabledBackgroundBrush
Watermark
TextBoxHelper.Watermark
for HotKeyBox
instead own DependencyProperty (marked as obsolete).TextBoxHelper.AutoWatermark
for HotKey
DependencyProperty of HotKeyBox
.TextBoxHelper.WatermarkTrimming
attached property to set the text trimming behavior to employ when (floating) watermark overflows the content area. thx to @amkuchta
TextBoxHelper.WatermarkWrapping
attached property (only for TextBox
) to set how the watermark should wrap text. Default is binded to TextWrapping
property. thx to @amkuchta
VS Theme
StandardGroupBox
styleStandardExpander
styleTabControlHelper
TabControlHelper.CloseButtonEnabled
attached property to show / hide the close button (default is true).TabControlHelper.CloseTabCommand
attached property which executes if the TabItem
will be closed.TabControlHelper.CloseTabCommandParameter
attached property which will be passed to the CloseTabCommand
.TextBoxHelper.ButtonsAlignment
support for PasswordBox
styles #3074 @waleswood
MetroHeader
control which can contains any other content and can display a header on top of this content.Controls:MetroHeader Margin="2" Header="TextBox Header">
<Controls:MetroHeader.HeaderTemplate>
<DataTemplate>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<iconPacks:PackIconMaterial VerticalAlignment="Center" Kind="FaceProfile" />
<TextBlock Margin="2 0 0 0"
VerticalAlignment="Center"
Text="{Binding}" />
</StackPanel>
</DataTemplate>
</Controls:MetroHeader.HeaderTemplate>
<TextBox Text="Enabled" />
/Controls:MetroHeader>
ScrollViewerHelper
class
IsHorizontalScrollWheelEnabled
attached property. If it's set to true and a horizontal ScrollBar
is visible then the mouse wheel scrolls to left and right.VerticalScrollBarOnLeftSide
attached property from ScrollBarHelper
to ScrollViewerHelper
. ScrollBarHelper is now marked as obsolete.FlatButtonForegroundBrush
in the new MahApps.Metro.Styles.FlatButtonFocusVisualStyle
which is used now for MetroFlatButton
and MetroFlatToggleButton
PasswordBoxHelper
RevealButtonContent
and RevealButtonContentTemplate
attached propertiesDefaultRevealButtonIcon
ContentControl to RevealButtonContent
attached propertyMahApps.Metro.Styles.WindowButton.Close.Light.Win10
and MahApps.Metro.Styles.WindowButton.Close.Dark.Win10
stylesItemHelper
class with some Brush
attached properties for mouse interaction. These properties can be used with HamburgerMenuItem
, ListBoxItem
, ListViewItem
, TreeViewItem
and ComboBoxItem
.
ItemHelper.ActiveSelectionBackgroundBrush
default AccentColorBrush
ItemHelper.ActiveSelectionForegroundBrush
default AccentSelectedColorBrush
ItemHelper.DisabledBackgroundBrush
default x:Null
ItemHelper.DisabledForegroundBrush
default GrayNormalBrush
ItemHelper.DisabledSelectedBackgroundBrush
default GrayBrush7
ItemHelper.DisabledSelectedForegroundBrush
default AccentSelectedColorBrush
ItemHelper.HoverBackgroundBrush
default AccentColorBrush3
ItemHelper.HoverSelectedBackgroundBrush
default AccentColorBrush
ItemHelper.SelectedBackgroundBrush
default AccentColorBrush2
ItemHelper.SelectedForegroundBrush
default AccentSelectedColorBrush
ToggleSwitch
ContentPadding
dependency property to change the padding of the inner content in an easy way.HamburgerMenu
HamburgerListBoxItemStyle
-> HamburgerMenuItemStyle
HamburgerListBoxStyle
-> HamburgerMenuListStyle
UWPCommunityToolkit
style (update template to keep options visible)
HamburgerMenuTemplate
resource dictionaryItemContainerStyle
and OptionsItemContainerStyle
properties. This makes it easier to change the inner styles for the items (and option items)0
HamburgerMenuImageItem
: Downgrade thumbnail property from BitmapImage
to subclass ImageSource
ItemInvoked
event (as an alternative to ItemClick
and OptionsItemClick
)SelectionIndicator
(rectangle) which can be enabled with the new ShowSelectionIndicator
dependency property
HamburgerMenuSelectionIndicatorThemeWidth
default 6
HamburgerMenuSelectionIndicatorThemeHeight
default 24
FocusVisualStyle
ItemFocusVisualStyle
dependency property which will be re-created if one of these properties are changed: OpenPaneLength
, CompactPaneLength
and IsPaneOpen
. Default template is HamburgerMenuItemFocusVisualTemplate
.HamburgerMenuItem
style by setting the FocusVisualStyle
property.HamburgerMenu
resources to Control styles to allow style manipulation and fix binding expression infosPanePlacement
handling for right alignedToolTip
DependencyProperty
for HamburgerMenuItem
Dialogs
MahApps.Metro.Styles.MetroDialog
and set this as defaultBaseMetroDialog
resources to Control styles to allow easier dialog style manipulationProgressDialogController.SetProgressBarForegroundBrush(Brush)
so that you can customize a progress dialog's progress bar foreground Brush.MetroWindow
(Dialogs
)
IsAnyDialogOpen
dependency property. This property will be updated if a dialog is shown or not.OwnerCanCloseWithDialog
property at MetroDialogSettings
which can be used to handle how the owner of the dialog can be closed.IsCloseButtonEnabledWithDialog
property at MetroWindow
which indicates if the close button should be enabled or not if a dialog is shown.HandleOverlayOnHide
and HandleOverlayOnShow
methods sets the IsCloseButtonEnabledWithDialogPropertyKey
and restores focus if neededOverlayFadeIn
and OverlayFadeOut
properties to set/override the overlay fade in/out Storyboards which are used for the Dialogs
HideMetroDialogAsync
fails sometimes to close dialog (async call order)Slider
style: MahApps.Metro.Styles.Slider.Win10
MahApps.Metro.Styles.Slider.HorizontalTemplate.Win10
, MahApps.Metro.Styles.Slider.VerticalTemplate.Win10
MahApps.Metro.Styles.Slider.HorizontalTrack.Win10
, MahApps.Metro.Styles.Slider.VerticalTrack.Win10
MahApps.Metro.Styles.Slider.Thumb.Win10
Slider
style: MahApps.Metro.Styles.Slider
(mark old as obsolete)
MahApps.Metro.Styles.Slider.HorizontalTemplate
, MahApps.Metro.Styles.Slider.VerticalTemplate
MahApps.Metro.Styles.Slider.HorizontalTrack
, MahApps.Metro.Styles.Slider.VerticalTrack
MahApps.Metro.Styles.Slider.Thumb
RangeSlider
style: MahApps.Metro.Styles.RangeSlider.Win10
MahApps.Metro.Styles.RangeSlider.HorizontalTemplate.Win10
, MahApps.Metro.Styles.RangeSlider.VerticalTemplate.Win10
MahApps.Metro.Styles.Slider.HorizontalTrack.Win10
, MahApps.Metro.Styles.Slider.VerticalTrack.Win10
MahApps.Metro.Styles.Slider.Thumb.Win10
, MahApps.Metro.Styles.RangeSlider.HorizontalMiddleThumb.Win10
, MahApps.Metro.Styles.RangeSlider.VerticalMiddleThumb.Win10
RangeSlider
style: MahApps.Metro.Styles.RangeSlider
SliderHelper
brush properties also for RangeSlider
MahApps.Metro.Styles.RangeSlider.HorizontalMiddleThumb
, MahApps.Metro.Styles.RangeSlider.VerticalMiddleThumb
MetroThumb
instead Thumb
ReservedSpace
for all TickBar
controls instead Margin
SliderHelper
: Add new attached properties for all possible Brushes
SliderHelper.EnableMouseWheel
and SliderHelper.ChangeValueBy
for RangeSlider
too.Slider
brushes
SliderHelper.ThumbFillBrush
default AccentBaseColorBrush
SliderHelper.ThumbFillHoverBrush
default GrayBrush3
SliderHelper.ThumbFillPressedBrush
default AccentBaseColorBrush
SliderHelper.ThumbFillDisabledBrush
default GrayBrush1
SliderHelper.TrackFillBrush
default GrayBrush2
SliderHelper.TrackFillHoverBrush
default AccentBaseColorBrush
SliderHelper.TrackFillPressedBrush
default GrayBrush6
SliderHelper.TrackFillDisabledBrush
default GrayBrush3
SliderHelper.TrackValueFillBrush
default AccentBaseColorBrush
SliderHelper.TrackValueFillHoverBrush
default GrayBrush6
SliderHelper.TrackValueFillPressedBrush
default GrayBrush6
SliderHelper.TrackValueFillDisabledBrush
default GrayBrush6
Slider
brushes
SliderHelper.ThumbFillBrush
default GrayBrush2
SliderHelper.ThumbFillHoverBrush
default GrayBrush3
SliderHelper.ThumbFillPressedBrush
default AccentColorBrush
SliderHelper.ThumbFillDisabledBrush
default GrayBrush5
SliderHelper.TrackFillBrush
default GrayBrush3
SliderHelper.TrackFillHoverBrush
default AccentColorBrush
SliderHelper.TrackFillPressedBrush
default GrayBrush2
SliderHelper.TrackFillDisabledBrush
default GrayBrush3
SliderHelper.TrackValueFillBrush
default AccentColorBrush
SliderHelper.TrackValueFillHoverBrush
default GrayBrush6
SliderHelper.TrackValueFillPressedBrush
default GrayBrush6
SliderHelper.TrackValueFillDisabledBrush
default GrayBrush6
DatePicker
ControlsHelper.IsReadOnly
. This property sets the IsReadOnly
property on the inner TextBox
and the IsEnabled
on the inner popup button.Strong naming
MahApps will no longer be strong-named beginning with this version. #3029
Why?
Strong-named assemblies are only useful in some rare scenarios. If you need strong-named assembly then you can compile the source by yourself ore use the Strong Namer from Daniel Plaisted @dsplaisted or Strong-Name Signer from Werner van Deventer @brutaldev.
More informations about the reason of this decision can be found here:
Commits without PRs/Issues
SpellCheck.IsEnabled
changes from MaterialDesignInXamlToolkit
@ButchersBoy #650 Removes the extra hidden classes and enables flexible style changes, it's more WPF now.CalendarDayButton
and CalendarButton
from Calendar
.MetroProgressBar
MetroProgressBar
does not work inside ControlTemplateGlowWindowBehavior
ResizeBorderThickness
must also be set to 0 on maximizePropertyChangeNotifier
from ControlzEx
ResizeBorderThickness
as it's handled by ControlzEx
ComboBoxItem
, if a ComboBox
is inside a ContentControl
.FlipView
: Bind ItemStringFormat
to ContentStringFormat
TimePicker
and DateTimePicker
after changing the cultureDialogTitleFontSize
and DialogMessageFontSize
via DynamicResource at the base MetroDialog styleHorizontalScrollBarVisibility
and VerticalScrollBarVisibility
for HotKeyBox
and NumericUpdDown
to Hidden, cause the inner TextBox has this as default tooSlider
: remove linear gradient brush from horizontal and vertical track value style. RangeSlider
: fix margin of the middle thumb.Bugs
Features
Feature Requests
You can download this release from MahApps.Metro
pre-release notes
pre-release notes
pre-release notes