Skip to content

Commit 76b9210

Browse files
authored
Use Themed Context menus and remove custom FontSize converters (#7179)
1 parent 2ba46c4 commit 76b9210

12 files changed

Lines changed: 34 additions & 74 deletions

src/NuGet.Clients/NuGet.PackageManagement.UI/Converters/FontSizeConverter.cs

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/NuGet.Clients/NuGet.PackageManagement.UI/Resources/Brushes.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ public static class Brushes
172172

173173
public static object ListItemTextSelectedColorKey { get; private set; } = SystemColors.HighlightTextColorKey;
174174

175+
public static object Environment122PercentFontSizeKey { get; private set; } = SystemFonts.MessageFontSizeKey;
176+
public static object Environment155PercentFontSizeKey { get; private set; } = SystemFonts.MessageFontSizeKey;
177+
175178
public static void LoadVsBrushes(INuGetExperimentationService nuGetExperimentationService)
176179
{
177180
if (nuGetExperimentationService == null)
@@ -181,6 +184,10 @@ public static void LoadVsBrushes(INuGetExperimentationService nuGetExperimentati
181184

182185
bool isBgColorFlightEnabled = IsBackgroundColorFlightEnabled(nuGetExperimentationService);
183186

187+
// Maps to VS environment fonts. Used for larger headings.
188+
Environment122PercentFontSizeKey = VsFonts.Environment122PercentFontSizeKey;
189+
Environment155PercentFontSizeKey = VsFonts.Environment155PercentFontSizeKey;
190+
184191
FocusVisualStyleBrushKey = VsBrushes.ToolWindowTextKey;
185192
ActiveBorderKey = VsBrushes.ActiveBorderKey;
186193
BorderBrush = VsBrushes.BrandedUIBorderKey;

src/NuGet.Clients/NuGet.PackageManagement.UI/Resources/Resources.xaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,6 @@
4242
x:Key="BooleanToHiddenVisibilityConverter" />
4343
<nuget:GreaterThanThresholdToVisibilityConverter
4444
x:Key="GreaterThanThresholdToVisibilityConverter" />
45-
<nuget:FontSizeConverter
46-
Scale="122"
47-
x:Key="Font122PercentSizeConverter" />
48-
<nuget:FontSizeConverter
49-
Scale="155"
50-
x:Key="Font155PercentSizeConverter" />
5145
<nuget:VersionToStringConverter
5246
x:Key="VersionToStringConverter" />
5347
<nuget:ProjectAndSolutionViewHeightConverter

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/DeprecationControl.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
88
xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
99
xmlns:catalog="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.ImageCatalog"
10+
xmlns:shell_controls="clr-namespace:Microsoft.VisualStudio.Shell.Controls;assembly=Microsoft.VisualStudio.Shell.Styles"
1011
mc:Ignorable="d"
1112
d:DesignHeight="150" d:DesignWidth="350">
1213
<UserControl.Resources>
@@ -35,7 +36,7 @@
3536
FontWeight="Bold"
3637
Text="{x:Static nuget:Resources.Label_Deprecated}"/>
3738
</StackPanel>
38-
<TextBox
39+
<shell_controls:TextBox
3940
Style="{DynamicResource SelectableTextBlockStyle}"
4041
Margin="0,8,0,0"
4142
TextWrapping="WrapWithOverflow"

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/DetailControl.xaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
99
xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
1010
xmlns:catalog="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.ImageCatalog"
11+
xmlns:shell_controls="clr-namespace:Microsoft.VisualStudio.Shell.Controls;assembly=Microsoft.VisualStudio.Shell.Styles"
1112
Background="{Binding UIBrushes.DetailPaneBackground }"
1213
x:Name="_self"
1314
mc:Ignorable="d"
@@ -66,13 +67,14 @@
6667
<ColumnDefinition Width="auto"/>
6768
<ColumnDefinition Width="auto"/>
6869
</Grid.ColumnDefinitions>
69-
<TextBox
70+
<shell_controls:TextBox
7071
Grid.Column="0"
7172
Name="_packageId"
7273
AutomationProperties.Name="{Binding Path=Id, Mode=OneWay}"
7374
Style="{DynamicResource SelectableTextBlockStyle}"
7475
Text="{Binding Path=Id, Mode=OneWay}"
75-
FontSize="{Binding ElementName=_self,Path=FontSize,Converter={StaticResource Font155PercentSizeConverter}}" />
76+
FontSize="{DynamicResource {x:Static nuget:Brushes.Environment155PercentFontSizeKey}}"
77+
ContextMenuOpening="OnContextMenuResetFontSize" />
7678
<imaging:CrispImage
7779
Grid.Column="1"
7880
x:Name="_prefixReservedMark"

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/DetailControl.xaml.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,5 +211,13 @@ private void ExecuteUserAction(UserAction action, NuGetActionType actionType)
211211
}
212212
});
213213
}
214+
215+
private void OnContextMenuResetFontSize(object sender, ContextMenuEventArgs e)
216+
{
217+
if (sender is System.Windows.Controls.TextBox textBox && textBox.ContextMenu != null)
218+
{
219+
textBox.ContextMenu.FontSize = FontSize;
220+
}
221+
}
214222
}
215223
}

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/PackageDetailsTabControl.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<TabControl.Resources>
3333
<Style TargetType="TabItem">
3434
<Setter Property="Background" Value="{DynamicResource {x:Static nuget:Brushes.HeaderBackground}}" />
35-
<Setter Property="FontSize" Value="{Binding FontSize, RelativeSource={RelativeSource AncestorType=UserControl}, Converter={StaticResource Font122PercentSizeConverter}}"/>
35+
<Setter Property="FontSize" Value="{DynamicResource {x:Static nuget:Brushes.Environment122PercentFontSizeKey}}" />
3636
<Setter Property="Foreground" Value="{DynamicResource {x:Static nuget:Brushes.UIText}}" />
3737
<Setter Property="Padding" Value="12,0,12,0" />
3838
<Setter Property="FocusVisualStyle" Value="{DynamicResource ControlsFocusVisualStyle}" />

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/PackageItemControl.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@
175175
Orientation="Horizontal">
176176
<TextBlock
177177
FontWeight="Bold"
178-
FontSize="{Binding ElementName=_self,Path=FontSize,Converter={StaticResource Font122PercentSizeConverter}}"
178+
FontSize="{DynamicResource {x:Static nuget:Brushes.Environment122PercentFontSizeKey}}"
179179
TextWrapping="NoWrap"
180180
VerticalAlignment="Top"
181181
ToolTip="{x:Static nuget:Resources.ToolTip_PackageRecommended}"
@@ -184,7 +184,7 @@
184184
Text="&#x2605; " />
185185
<TextBlock
186186
FontWeight="Bold"
187-
FontSize="{Binding ElementName=_self,Path=FontSize,Converter={StaticResource Font122PercentSizeConverter}}"
187+
FontSize="{DynamicResource {x:Static nuget:Brushes.Environment122PercentFontSizeKey}}"
188188
TextTrimming="CharacterEllipsis"
189189
TextWrapping="NoWrap"
190190
AutomationProperties.AutomationId="id"

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/PackageManagerTopPanel.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<TabControl.Resources>
4242
<Style TargetType="TabItem">
4343
<Setter Property="Background" Value="{DynamicResource {x:Static nuget:Brushes.HeaderBackground}}" />
44-
<Setter Property="FontSize" Value="{Binding FontSize, RelativeSource={RelativeSource AncestorType=UserControl},Converter={StaticResource Font122PercentSizeConverter}}"/>
44+
<Setter Property="FontSize" Value="{DynamicResource {x:Static nuget:Brushes.Environment122PercentFontSizeKey}}"/>
4545
<Setter Property="Foreground" Value="{DynamicResource {x:Static nuget:Brushes.UIText}}" />
4646
<Setter Property="Padding" Value="20,0,20,0" />
4747
<Setter Property="FocusVisualStyle" Value="{DynamicResource ControlsFocusVisualStyle}" />
@@ -171,7 +171,7 @@
171171
Grid.Column="4"
172172
HorizontalAlignment="Right"
173173
VerticalAlignment="Center"
174-
FontSize="{Binding FontSize,RelativeSource={RelativeSource AncestorType=UserControl},Converter={StaticResource Font155PercentSizeConverter}}"
174+
FontSize="{DynamicResource {x:Static nuget:Brushes.Environment155PercentFontSizeKey}}"
175175
Margin="20,0,0,0"
176176
TextTrimming="CharacterEllipsis">
177177
Package Manager

src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/PackageMetadataControl.xaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
1010
xmlns:catalog="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.ImageCatalog"
1111
xmlns:glob="clr-namespace:System.Globalization;assembly=mscorlib"
12+
xmlns:shell_controls="clr-namespace:Microsoft.VisualStudio.Shell.Controls;assembly=Microsoft.VisualStudio.Shell.Styles"
1213
Background="{DynamicResource {x:Static nuget:Brushes.DetailPaneBackground}}"
1314
Foreground="{DynamicResource {x:Static nuget:Brushes.UIText}}"
1415
mc:Ignorable="d"
@@ -131,7 +132,7 @@
131132
x:Name="_descriptionLabel"
132133
Text="{x:Static nuget:Resources.Label_Description}"
133134
FontWeight="Bold" />
134-
<TextBox
135+
<shell_controls:TextBox
135136
Style="{DynamicResource SelectableTextBlockStyle}"
136137
Grid.Row="1"
137138
x:Name="_description"
@@ -173,7 +174,7 @@
173174
x:Name="_versionLabel"
174175
AutomationProperties.Name="{Binding Text}"
175176
Text="{x:Static nuget:Resources.Label_Version}" />
176-
<TextBox
177+
<shell_controls:TextBox
177178
Style="{DynamicResource SelectableTextBlockStyle}"
178179
Grid.Row="0"
179180
Grid.Column="1"
@@ -242,7 +243,7 @@
242243
x:Name="_authorsLabel"
243244
AutomationProperties.Name="{Binding Text}"
244245
Text="{x:Static nuget:Resources.Label_Authors}" />
245-
<TextBox
246+
<shell_controls:TextBox
246247
Style="{DynamicResource SelectableTextBlockStyle}"
247248
Visibility="{Binding Path=PackageMetadata.Authors,Converter={StaticResource NullToVisibilityConverter}}"
248249
AutomationProperties.LabeledBy="{Binding ElementName=_authorsLabel}"
@@ -308,7 +309,7 @@
308309
Margin="0,8,0,0"
309310
x:Name="_downloadsLabel"
310311
Text="{x:Static nuget:Resources.Label_Downloads}" />
311-
<TextBox
312+
<shell_controls:TextBox
312313
Style="{DynamicResource SelectableTextBlockStyle}"
313314
Visibility="{Binding Path=PackageMetadata.DownloadCount,Converter={StaticResource GreaterThanThresholdToVisibilityConverter},ConverterParameter=-1}"
314315
AutomationProperties.LabeledBy="{Binding ElementName=_downloadsLabel}"
@@ -327,7 +328,7 @@
327328
Margin="0,8,0,0"
328329
x:Name="_datePublishedLabel"
329330
Text="{x:Static nuget:Resources.Label_DatePublished}" />
330-
<TextBox
331+
<shell_controls:TextBox
331332
Name="datePublished"
332333
Style="{DynamicResource SelectableTextBlockStyle}"
333334
Visibility="{Binding Path=PackageMetadata.Published,Converter={StaticResource NullToVisibilityConverter}}"
@@ -400,7 +401,7 @@
400401
Margin="0,8,0,0"
401402
x:Name="_tagsLabel"
402403
Text="{x:Static nuget:Resources.Label_Tags}" />
403-
<TextBox
404+
<shell_controls:TextBox
404405
Style="{DynamicResource SelectableTextBlockStyle}"
405406
Visibility="{Binding Path=PackageMetadata.Tags,Converter={StaticResource NullToVisibilityConverter}}"
406407
AutomationProperties.LabeledBy="{Binding ElementName=_tagsLabel}"

0 commit comments

Comments
 (0)