File scoped namespaces

This commit is contained in:
Aleh Khantsevich
2025-02-16 11:35:43 +01:00
committed by GitHub
parent c1336428dc
commit d31d8f574e
617 changed files with 32118 additions and 32737 deletions

View File

@@ -4,83 +4,82 @@ using Windows.UI.Xaml;
using Wino.Core.Domain.Interfaces;
using Wino.Core.UWP.Controls;
namespace Wino.Behaviors
namespace Wino.Behaviors;
public class CreateMailNavigationItemBehavior : Behavior<WinoNavigationViewItem>
{
public class CreateMailNavigationItemBehavior : Behavior<WinoNavigationViewItem>
public IMenuItem SelectedMenuItem
{
public IMenuItem SelectedMenuItem
get { return (IMenuItem)GetValue(SelectedMenuItemProperty); }
set { SetValue(SelectedMenuItemProperty, value); }
}
public ObservableCollection<IMenuItem> MenuItems
{
get { return (ObservableCollection<IMenuItem>)GetValue(MenuItemsProperty); }
set { SetValue(MenuItemsProperty, value); }
}
public static readonly DependencyProperty MenuItemsProperty = DependencyProperty.Register(nameof(MenuItems), typeof(ObservableCollection<IMenuItem>), typeof(CreateMailNavigationItemBehavior), new PropertyMetadata(null, OnMenuItemsChanged));
public static readonly DependencyProperty SelectedMenuItemProperty = DependencyProperty.Register(nameof(SelectedMenuItem), typeof(IMenuItem), typeof(CreateMailNavigationItemBehavior), new PropertyMetadata(null, OnSelectedMenuItemChanged));
public CreateMailNavigationItemBehavior()
{
}
protected override void OnAttached()
{
base.OnAttached();
}
protected override void OnDetaching()
{
base.OnDetaching();
}
private static void OnMenuItemsChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyObject is CreateMailNavigationItemBehavior behavior)
{
get { return (IMenuItem)GetValue(SelectedMenuItemProperty); }
set { SetValue(SelectedMenuItemProperty, value); }
if (dependencyPropertyChangedEventArgs.NewValue != null)
behavior.RegisterMenuItemChanges();
behavior.ManageAccounts();
}
}
public ObservableCollection<IMenuItem> MenuItems
private void RegisterMenuItemChanges()
{
if (MenuItems != null)
{
get { return (ObservableCollection<IMenuItem>)GetValue(MenuItemsProperty); }
set { SetValue(MenuItemsProperty, value); }
MenuItems.CollectionChanged -= MenuCollectionUpdated;
MenuItems.CollectionChanged += MenuCollectionUpdated;
}
}
public static readonly DependencyProperty MenuItemsProperty = DependencyProperty.Register(nameof(MenuItems), typeof(ObservableCollection<IMenuItem>), typeof(CreateMailNavigationItemBehavior), new PropertyMetadata(null, OnMenuItemsChanged));
public static readonly DependencyProperty SelectedMenuItemProperty = DependencyProperty.Register(nameof(SelectedMenuItem), typeof(IMenuItem), typeof(CreateMailNavigationItemBehavior), new PropertyMetadata(null, OnSelectedMenuItemChanged));
private void MenuCollectionUpdated(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
ManageAccounts();
}
public CreateMailNavigationItemBehavior()
private static void OnSelectedMenuItemChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyObject is CreateMailNavigationItemBehavior behavior)
{
behavior.ManageAccounts();
}
}
protected override void OnAttached()
private void ManageAccounts()
{
if (MenuItems == null) return;
AssociatedObject.MenuItems.Clear();
if (SelectedMenuItem == null)
{
base.OnAttached();
}
protected override void OnDetaching()
{
base.OnDetaching();
}
private static void OnMenuItemsChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyObject is CreateMailNavigationItemBehavior behavior)
{
if (dependencyPropertyChangedEventArgs.NewValue != null)
behavior.RegisterMenuItemChanges();
behavior.ManageAccounts();
}
}
private void RegisterMenuItemChanges()
{
if (MenuItems != null)
{
MenuItems.CollectionChanged -= MenuCollectionUpdated;
MenuItems.CollectionChanged += MenuCollectionUpdated;
}
}
private void MenuCollectionUpdated(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
ManageAccounts();
}
private static void OnSelectedMenuItemChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyObject is CreateMailNavigationItemBehavior behavior)
{
behavior.ManageAccounts();
}
}
private void ManageAccounts()
{
if (MenuItems == null) return;
AssociatedObject.MenuItems.Clear();
if (SelectedMenuItem == null)
{
// ??
}
// ??
}
}
}