Skip to content

Commit ab5d909

Browse files
authored
ContextMenu now follows placement target font. (#2426)
1 parent e2923d9 commit ab5d909

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

MaterialDesignThemes.UITests/WPF/TextBoxes/TextBoxTests.cs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.ComponentModel;
3+
using System.Linq;
34
using System.Threading.Tasks;
45
using System.Windows;
56
using System.Windows.Controls;
@@ -305,5 +306,47 @@ public async Task FloatingOffset_ValuesGetApproprietlyApplied()
305306

306307
recorder.Success();
307308
}
309+
310+
[Fact]
311+
[Description("Issue 2390")]
312+
public async Task ContextMenu_FollowsTextBoxFontFamily()
313+
{
314+
await using var recorder = new TestRecorder(App);
315+
316+
var textBox = await LoadXaml<TextBox>(@"<TextBox FontFamily=""Times New Roman""/>");
317+
318+
await textBox.RightClick();
319+
320+
var contextMenu = await textBox.GetElement<ContextMenu>(".ContextMenu");
321+
322+
var textBoxFont = await textBox.GetFontFamily();
323+
Assert.Equal("Times New Roman", textBoxFont?.FamilyNames.Values.First());
324+
Assert.Equal(textBoxFont, await contextMenu.GetFontFamily());
325+
326+
recorder.Success();
327+
}
328+
329+
[Fact]
330+
[Description("Issue 2390")]
331+
public async Task ContextMenu_UsesInheritedFontFamily()
332+
{
333+
await using var recorder = new TestRecorder(App);
334+
335+
var stackPanel = await LoadXaml<StackPanel>(@"
336+
<StackPanel TextElement.FontFamily=""Times New Roman"">
337+
<TextBox />
338+
</StackPanel>
339+
");
340+
var textBox = await stackPanel.GetElement<TextBox>("/TextBox");
341+
await textBox.RightClick();
342+
343+
var contextMenu = await textBox.GetElement<ContextMenu>(".ContextMenu");
344+
345+
var textBoxFont = await textBox.GetFontFamily();
346+
Assert.Equal("Times New Roman", textBoxFont?.FamilyNames.Values.First());
347+
Assert.Equal(textBoxFont, await contextMenu.GetFontFamily());
348+
349+
recorder.Success();
350+
}
308351
}
309352
}

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Menu.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
<converters:TextFieldHintVisibilityConverter x:Key="StringIsEmptyVisibilityConverter" IsEmptyValue="Collapsed" IsNotEmptyValue="Visible"/>
1010
<converters:BrushRoundConverter x:Key="BrushRoundConverter"/>
1111

12-
<ContextMenu x:Key="MaterialDesignDefaultContextMenu">
12+
<ContextMenu x:Key="MaterialDesignDefaultContextMenu"
13+
FontFamily="{Binding PlacementTarget.FontFamily, RelativeSource={RelativeSource Self}}">
1314
<MenuItem Command="Cut">
1415
<MenuItem.Icon>
1516
<wpf:PackIcon Kind="ContentCut" />

0 commit comments

Comments
 (0)