Skip to content

Commit f3ac1f7

Browse files
committed
Merge branch 'master' of https://github.com/MahApps/MahApps.Metro into NumericUpDown-Integer-Only-Feature
2 parents 9dd57c9 + fdfcd33 commit f3ac1f7

File tree

9 files changed

+522
-178
lines changed

9 files changed

+522
-178
lines changed

MahApps.Metro/Behaviours/GlowWindowBehavior.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ void AssociatedObjectStateChanged(object sender, EventArgs e)
6262
{
6363
makeGlowVisibleTimer.Stop();
6464
}
65-
if(AssociatedObject.WindowState != WindowState.Minimized)
65+
if(AssociatedObject.WindowState == WindowState.Normal)
6666
{
6767
var metroWindow = this.AssociatedObject as MetroWindow;
6868
var ignoreTaskBar = metroWindow != null && metroWindow.IgnoreTaskbarOnMaximize;

MahApps.Metro/Microsoft.Windows.Shell/WindowChrome.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Microsoft.Windows.Shell
1111
using System.Windows.Data;
1212
using Standard;
1313

14-
internal enum ResizeGripDirection
14+
public enum ResizeGripDirection
1515
{
1616
None,
1717
TopLeft,
@@ -26,7 +26,7 @@ internal enum ResizeGripDirection
2626
}
2727

2828
[Flags]
29-
internal enum SacrificialEdge
29+
public enum SacrificialEdge
3030
{
3131
None = 0,
3232
Left = 1,
@@ -35,13 +35,9 @@ internal enum SacrificialEdge
3535
Bottom = 8,
3636

3737
Office = Left | Right | Bottom,
38-
39-
// Don't use "All" - Handling WM_NCCALCSIZE with a client rect shrunk in all directions implicitly creates a
40-
// normal sized caption area that doesn't actually properly participate with the rest of the implementation...
41-
// All = Left | Top | Right | Bottom,
4238
}
4339

44-
internal class WindowChrome : Freezable
40+
public class WindowChrome : Freezable
4541
{
4642
private struct _SystemParameterBoundProperty
4743
{

MahApps.Metro/Microsoft.Windows.Shell/WindowChromeWorker.cs

Lines changed: 373 additions & 113 deletions
Large diffs are not rendered by default.

MahApps.Metro/Styles/Controls.CheckBox.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
Value="1" />
2424
<Setter Property="BorderBrush"
2525
Value="{DynamicResource CheckBoxBrush}" />
26+
<Setter Property="Background"
27+
Value="{DynamicResource WhiteBrush}" />
2628
<Setter Property="Controls:ControlsHelper.FocusBorderBrush"
2729
Value="{DynamicResource HighlightBrush}" />
2830
<Setter Property="Controls:ControlsHelper.MouseOverBorderBrush"

MahApps.Metro/Styles/Controls.ListBox.xaml

Lines changed: 49 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,27 @@
33

44
<Style x:Key="MetroListBox"
55
TargetType="{x:Type ListBox}">
6+
<Setter Property="HorizontalContentAlignment"
7+
Value="Stretch" />
8+
<Setter Property="VerticalContentAlignment"
9+
Value="Center" />
610
<Setter Property="BorderBrush"
711
Value="{DynamicResource BlackBrush}" />
812
<Setter Property="Background"
913
Value="{DynamicResource WhiteBrush}" />
1014
<!-- default to 0 -->
1115
<Setter Property="BorderThickness"
1216
Value="0" />
17+
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility"
18+
Value="Auto" />
19+
<Setter Property="ScrollViewer.VerticalScrollBarVisibility"
20+
Value="Auto" />
21+
<Setter Property="ScrollViewer.CanContentScroll"
22+
Value="True" />
23+
<Setter Property="ScrollViewer.PanningMode"
24+
Value="Both" />
25+
<Setter Property="Stylus.IsFlicksEnabled"
26+
Value="False" />
1327
<Setter Property="SnapsToDevicePixels"
1428
Value="True" />
1529
<Setter Property="Template">
@@ -19,21 +33,44 @@
1933
Background="{TemplateBinding Background}"
2034
BorderBrush="{TemplateBinding BorderBrush}"
2135
BorderThickness="{TemplateBinding BorderThickness}">
22-
<ScrollViewer>
23-
<ItemsPresenter />
36+
<ScrollViewer Focusable="False"
37+
Padding="{TemplateBinding Padding}"
38+
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
39+
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
40+
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
41+
CanContentScroll="{TemplateBinding ScrollViewer.CanContentScroll}">
42+
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
2443
</ScrollViewer>
2544
</Border>
2645
<ControlTemplate.Triggers>
27-
<Trigger Property="IsEnabled"
28-
Value="False">
29-
<Setter TargetName="Border"
30-
Property="BorderBrush"
31-
Value="{DynamicResource GrayBrush9}" />
46+
<Trigger Property="IsGrouping"
47+
Value="false">
48+
<Setter Property="ScrollViewer.CanContentScroll"
49+
Value="false" />
3250
</Trigger>
3351
</ControlTemplate.Triggers>
3452
</ControlTemplate>
3553
</Setter.Value>
3654
</Setter>
55+
<Style.Triggers>
56+
<Trigger Property="IsEnabled"
57+
Value="False">
58+
<Setter Property="BorderBrush"
59+
Value="{DynamicResource GrayBrush9}" />
60+
</Trigger>
61+
<Trigger Property="VirtualizingStackPanel.IsVirtualizing"
62+
Value="True">
63+
<Setter Property="ItemsPanel">
64+
<Setter.Value>
65+
<ItemsPanelTemplate>
66+
<VirtualizingStackPanel />
67+
</ItemsPanelTemplate>
68+
</Setter.Value>
69+
</Setter>
70+
<Setter Property="ScrollViewer.CanContentScroll"
71+
Value="True" />
72+
</Trigger>
73+
</Style.Triggers>
3774
</Style>
3875

3976
<Style x:Key="VirtualisedMetroListBox"
@@ -43,18 +80,16 @@
4380
Value="True" />
4481
<Setter Property="VirtualizingStackPanel.VirtualizationMode"
4582
Value="Recycling" />
46-
<Setter Property="ScrollViewer.CanContentScroll"
47-
Value="True" />
4883
</Style>
4984

5085
<Style x:Key="MetroListBoxItem"
5186
TargetType="{x:Type ListBoxItem}">
5287
<Setter Property="Foreground"
5388
Value="{DynamicResource BlackBrush}" />
5489
<Setter Property="HorizontalContentAlignment"
55-
Value="Stretch" />
90+
Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
5691
<Setter Property="VerticalContentAlignment"
57-
Value="Center" />
92+
Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
5893
<Setter Property="MinHeight"
5994
Value="25" />
6095
<Setter Property="Margin"
@@ -67,7 +102,10 @@
67102
<Setter.Value>
68103
<ControlTemplate TargetType="{x:Type ListBoxItem}">
69104
<Border x:Name="Border"
105+
BorderBrush="{TemplateBinding BorderBrush}"
106+
BorderThickness="{TemplateBinding BorderThickness}"
70107
Background="{TemplateBinding Background}"
108+
Padding="{TemplateBinding Padding}"
71109
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
72110
<ContentPresenter Margin="{TemplateBinding Padding}"
73111
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"

MahApps.Metro/Styles/Controls.RadioButton.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
Value="1" />
2424
<Setter Property="BorderBrush"
2525
Value="{DynamicResource CheckBoxBrush}" />
26+
<Setter Property="Background"
27+
Value="{DynamicResource WhiteBrush}" />
2628
<Setter Property="Controls:ControlsHelper.FocusBorderBrush"
2729
Value="{DynamicResource HighlightBrush}" />
2830
<Setter Property="Controls:ControlsHelper.MouseOverBorderBrush"

MahApps.Metro/Styles/Controls.TabControl.xaml

Lines changed: 86 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,14 @@
164164
<Setter Property="Template">
165165
<Setter.Value>
166166
<ControlTemplate TargetType="TabItem">
167-
<Border x:Name="Border" HorizontalAlignment="Stretch"
167+
<Border x:Name="Border"
168+
HorizontalAlignment="Stretch"
168169
BorderThickness="{TemplateBinding BorderThickness}"
169170
BorderBrush="{TemplateBinding BorderBrush}"
170171
Background="{TemplateBinding Background}"
171172
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
172-
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
173+
<DockPanel HorizontalAlignment="Stretch"
174+
VerticalAlignment="Stretch">
173175
<DockPanel.Resources>
174176
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
175177
</DockPanel.Resources>
@@ -183,54 +185,91 @@
183185
TextElement.Foreground="{TemplateBinding Foreground}"
184186
ContentSource="Header"
185187
RecognizesAccessKey="True"
186-
DockPanel.Dock="Top"/>
187-
<Rectangle x:Name="Underline"
188-
Margin="0, 1, 0, 0"
189-
Height="2"
190-
HorizontalAlignment="Stretch"
188+
DockPanel.Dock="Top" />
189+
<Rectangle x:Name="Underline"
190+
Margin="0, 1, 0, 0"
191+
Height="2"
192+
HorizontalAlignment="Stretch"
191193
Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}},
192194
Path=(Controls:TabControlHelper.IsUnderlined), Converter={StaticResource BooleanToVisibilityConverter}}"
193-
DockPanel.Dock="Bottom"/>
195+
DockPanel.Dock="Bottom" />
194196
</DockPanel>
195197
</Border>
196198
<ControlTemplate.Triggers>
197-
<Trigger Property="TabStripPlacement" Value="Left">
198-
<Setter Property="DockPanel.Dock"
199-
TargetName="ContentSite" Value="Left"/>
200-
<Setter Property="DockPanel.Dock"
201-
TargetName="Underline" Value="Right"/>
202-
<Setter Property="Width" TargetName="Underline" Value="2"/>
203-
<Setter Property="Height" TargetName="Underline" Value="Auto"/>
204-
<Setter Property="Margin" TargetName="Underline" Value="1,0,0,0"/>
199+
<Trigger Property="TabStripPlacement"
200+
Value="Left">
201+
<Setter Property="DockPanel.Dock"
202+
TargetName="ContentSite"
203+
Value="Left" />
204+
<Setter Property="DockPanel.Dock"
205+
TargetName="Underline"
206+
Value="Right" />
207+
<Setter Property="Width"
208+
TargetName="Underline"
209+
Value="2" />
210+
<Setter Property="Height"
211+
TargetName="Underline"
212+
Value="Auto" />
213+
<Setter Property="Margin"
214+
TargetName="Underline"
215+
Value="1,0,0,0" />
205216
</Trigger>
206-
<Trigger Property="TabStripPlacement" Value="Top">
207-
<Setter Property="DockPanel.Dock"
208-
TargetName="ContentSite" Value="Top"/>
209-
<Setter Property="DockPanel.Dock"
210-
TargetName="Underline" Value="Bottom"/>
211-
<Setter Property="DockPanel.Dock"
212-
TargetName="Underline" Value="Right"/>
213-
<Setter Property="Height" TargetName="Underline" Value="2"/>
214-
<Setter Property="Width" TargetName="Underline" Value="Auto"/>
215-
<Setter Property="Margin" TargetName="Underline" Value="0,1,0,0"/>
217+
<Trigger Property="TabStripPlacement"
218+
Value="Top">
219+
<Setter Property="DockPanel.Dock"
220+
TargetName="ContentSite"
221+
Value="Top" />
222+
<Setter Property="DockPanel.Dock"
223+
TargetName="Underline"
224+
Value="Bottom" />
225+
<Setter Property="DockPanel.Dock"
226+
TargetName="Underline"
227+
Value="Right" />
228+
<Setter Property="Height"
229+
TargetName="Underline"
230+
Value="2" />
231+
<Setter Property="Width"
232+
TargetName="Underline"
233+
Value="Auto" />
234+
<Setter Property="Margin"
235+
TargetName="Underline"
236+
Value="0,1,0,0" />
216237
</Trigger>
217-
<Trigger Property="TabStripPlacement" Value="Right">
218-
<Setter Property="DockPanel.Dock"
219-
TargetName="ContentSite" Value="Right"/>
220-
<Setter Property="DockPanel.Dock"
221-
TargetName="Underline" Value="Left"/>
222-
<Setter Property="Width" TargetName="Underline" Value="2"/>
223-
<Setter Property="Height" TargetName="Underline" Value="Auto"/>
224-
<Setter Property="Margin" TargetName="Underline" Value="0,0,1,0"/>
238+
<Trigger Property="TabStripPlacement"
239+
Value="Right">
240+
<Setter Property="DockPanel.Dock"
241+
TargetName="ContentSite"
242+
Value="Right" />
243+
<Setter Property="DockPanel.Dock"
244+
TargetName="Underline"
245+
Value="Left" />
246+
<Setter Property="Width"
247+
TargetName="Underline"
248+
Value="2" />
249+
<Setter Property="Height"
250+
TargetName="Underline"
251+
Value="Auto" />
252+
<Setter Property="Margin"
253+
TargetName="Underline"
254+
Value="0,0,1,0" />
225255
</Trigger>
226-
<Trigger Property="TabStripPlacement" Value="Bottom">
227-
<Setter Property="DockPanel.Dock"
228-
TargetName="ContentSite" Value="Bottom"/>
229-
<Setter Property="DockPanel.Dock"
230-
TargetName="Underline" Value="Top"/>
231-
<Setter Property="Height" TargetName="Underline" Value="2"/>
232-
<Setter Property="Width" TargetName="Underline" Value="Auto"/>
233-
<Setter Property="Margin" TargetName="Underline" Value="0,0,0,1"/>
256+
<Trigger Property="TabStripPlacement"
257+
Value="Bottom">
258+
<Setter Property="DockPanel.Dock"
259+
TargetName="ContentSite"
260+
Value="Bottom" />
261+
<Setter Property="DockPanel.Dock"
262+
TargetName="Underline"
263+
Value="Top" />
264+
<Setter Property="Height"
265+
TargetName="Underline"
266+
Value="2" />
267+
<Setter Property="Width"
268+
TargetName="Underline"
269+
Value="Auto" />
270+
<Setter Property="Margin"
271+
TargetName="Underline"
272+
Value="0,0,0,1" />
234273
</Trigger>
235274
<Trigger Property="IsSelected"
236275
Value="true">
@@ -262,8 +301,11 @@
262301
</Trigger>
263302
<MultiTrigger>
264303
<MultiTrigger.Conditions>
265-
<Condition Property="IsMouseOver" SourceName="ContentSite" Value="True" />
266-
<Condition Property="IsSelected" Value="True" />
304+
<Condition Property="IsMouseOver"
305+
SourceName="ContentSite"
306+
Value="True" />
307+
<Condition Property="IsSelected"
308+
Value="True" />
267309
</MultiTrigger.Conditions>
268310
<Setter Property="TextElement.Foreground"
269311
TargetName="ContentSite"

MahApps.Metro/Themes/MetroTabItem.xaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
<Style TargetType="{x:Type Controls:MetroTabItem}"
1414
BasedOn="{StaticResource MetroTabItem}">
15+
<Setter Property="Padding"
16+
Value="2,1,2,1" />
1517
<Setter Property="Template">
1618
<Setter.Value>
1719
<ControlTemplate TargetType="{x:Type Controls:MetroTabItem}">
@@ -23,9 +25,10 @@
2325
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
2426
<StackPanel Orientation="Vertical"
2527
HorizontalAlignment="Stretch">
26-
<StackPanel Orientation="Horizontal">
28+
<StackPanel Orientation="Horizontal"
29+
Margin="{TemplateBinding Padding}">
2730
<ContentPresenter x:Name="ContentSite"
28-
Margin="2,1,2,1"
31+
Margin="0 2 2 0"
2932
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
3033
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
3134
TextElement.FontSize="{TemplateBinding Controls:ControlsHelper.HeaderFontSize}"

docs/release-notes/1.2.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,3 +121,4 @@ This is a bug fix and feature release of MahApps.Metro v1.2.0.
121121
- Fixed ValidationError popup shows only first char of the error string #1926
122122
- Fixed usage of `TextmarkHelper.Watermark` with `Caliburn.Micro` #1059
123123
- Fixed not changable background color of a checkbox or radio button #1906
124+
- Fixed `Padding` usage for `MetroTabItem`: How to increase the spacing between Tab Items? #2074

0 commit comments

Comments
 (0)