Browse Source

begin implementing default app menu for osx.

pull/3220/head
Dan Walmsley 6 years ago
parent
commit
f2e09fc091
  1. 24
      src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

24
src/Avalonia.Native/AvaloniaNativeMenuExporter.cs

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Avalonia.Collections;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Controls.Platform; using Avalonia.Controls.Platform;
using Avalonia.Input; using Avalonia.Input;
@ -211,6 +212,25 @@ namespace Avalonia.Native
DoLayoutReset(); DoLayoutReset();
} }
private static NativeMenu CreateDefaultAppMenu()
{
var result = new NativeMenu();
var aboutItem = new NativeMenuItem
{
Header = "About Avalonia",
};
aboutItem.Clicked += (sender, e) =>
{
// Open about dialog.
};
result.Add(aboutItem);
return result;
}
private void OnItemPropertyChanged(object sender, AvaloniaPropertyChangedEventArgs e) private void OnItemPropertyChanged(object sender, AvaloniaPropertyChangedEventArgs e)
{ {
QueueReset(); QueueReset();
@ -241,6 +261,10 @@ namespace Avalonia.Native
{ {
SetMenu(_menu); SetMenu(_menu);
} }
else
{
SetMenu(CreateDefaultAppMenu());
}
} }
else else
{ {

Loading…
Cancel
Save