MapMenuItem

This commit is contained in:
ClemensFischer 2025-09-20 14:02:42 +02:00
parent 616b2bf3f7
commit 3f16d1d637
10 changed files with 54 additions and 82 deletions

View file

@ -1,38 +1,15 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Controls;
namespace MapControl.UiTools
{
public abstract partial class MapMenuItem : MenuItem
public partial class MapMenuItem : MenuItem
{
public abstract bool GetIsChecked(MapBase map);
public abstract Task ExecuteAsync(MapBase map);
protected MapMenuItem()
{
Loaded += (s, e) =>
{
if (DataContext is MapBase map)
{
IsChecked = GetIsChecked(map);
}
};
Click += async (s, e) =>
{
if (DataContext is MapBase map)
{
await ExecuteAsync(map);
foreach (var item in ParentMenuItems)
{
item.IsChecked = item.GetIsChecked(map);
}
}
};
Loaded += (s, e) => Initialize();
Click += (s, e) => Execute();
}
public string Text