Version 1.4.0
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 toMultiFrameImage.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.
-
- New property
- Changes for
DateTimePicker
andTimePicker
#2710- Change
DateTimePicker.SelectedDate
toBindsTwoWayByDefault
. 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
but00:00:00
and0001.01.01 00.00.00
respectively - Change icon for
TimePicker
#2700 (@p76984275) - Hide
DateTimePicker
andTimePicker
on lost focus. Fix also Shift+Tab focus moving.
- Change
- New
SplitView
andHamburgerMenu
control #2704- The
SplitView
source comes from theUniversalWPF
GitHub repo (from @dotMorten) with some changes from @Evangelink and @punker76. - The
HamburgerMenu
source comes from theUWPCommunityToolkit
GitHub repo.
- The
- 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 stylesMetroButtonTextBox
andSearchMetroTextBox
can now use the button also ifIsReadOnly="True"
(only if the button command is set) - New
AutoWatermark
attached property atTextBoxHelper
#2722 (@xxMUROxx) which is able to get theDisplayAttribute
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
andDateTimePicker
- Binding that is supported
-
Flyout
changes for betterMargin
usage- This changes affects only users who used the sample from the source which shows how to use the
FlyoutsControl
actual width and aMargin
for theFlyout
- It’s now possible to work without the actual width and use only the
Margin
orHorizontalContentAlignemnt
for Left/Right andVerticalContentAnlignment
for Top/BottomFlyout
.-
Margin="200 30 0 0"
andPosition="Right"
Flyout with left an top Margin -
HorizontalContentAlignment="Stretch"
andPosition="Right"
Flyout which covers the whole window
-
- This changes affects only users who used the sample from the source which shows how to use the
- Changed style names (and changes, see #2767) for
- Default
Button
(ButtonBase
) ->MahApps.Metro.Styles.MetroButton
- Default
ToggleButton
->MahApps.Metro.Styles.MetroToggleButton
- Default
- Fixed
Expander
closing animation and make it possible to change both animations (expand and collapse). #2769 (@ Alkalinee) - Updated
TabControl
andTabItem
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 ```xaml
+ If you want to use your own context menu items with the spell checker items then you must do this ```xaml <TextBox Margin="{StaticResource ControlMargin}" Controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" Text="Enabled"> <TextBox.ContextMenu> <ContextMenu> <MenuItem Header="This is only a Test-Item" /> </ContextMenu> </TextBox.ContextMenu> </TextBox>
- If you want to use your own context menu items with the deafult items then you must do this ```xaml
```
-
CustomDialog
improvements #2775- New overloaded generic method
ShowMetroDialogAsync
to create and show custom dialogs (self created dialogs which are inherited fromCustomDialog
) ```csharp // create and show a new custom dialog of the given type with the default dialog settings var customBaseMetroDialog = await this.ShowMetroDialogAsync();
// create and show a new custom dialog of the given type with own settings var customBaseMetroDialog = await this.ShowMetroDialogAsync
(this.metroDialogSettings); + Better handling for dialogs settings also with the already available `ShowMetroDialogAsync` method ```csharp // 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 ```xaml
```csharp namespace ShowMetroDialogAsyncIssue { using System.Windows; using MahApps.Metro.Controls; using MahApps.Metro.Controls.Dialogs; public partial class CustomBaseMetroDialog : CustomDialog { public CustomBaseMetroDialog() { InitializeComponent(); } public CustomBaseMetroDialog(MetroDialogSettings settings) : base(settings) { InitializeComponent(); } public CustomBaseMetroDialog(MetroWindow parentWindow, MetroDialogSettings settings) : base(parentWindow, settings) { InitializeComponent(); } private void Close_OnClick(object sender, RoutedEventArgs e) { (this.OwningWindow ?? (MetroWindow)Application.Current.MainWindow).HideMetroDialogAsync(this); } } }
- New overloaded generic method
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