diff --git a/.editorconfig b/.editorconfig
index 5f08d1e940..f6bce9cb76 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -131,13 +131,14 @@ csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
+space_within_single_line_array_initializer_braces = true
# Wrapping preferences
csharp_wrap_before_ternary_opsigns = false
# Xaml files
[*.xaml]
-indent_size = 4
+indent_size = 2
# Xml project files
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
diff --git a/src/Avalonia.Diagnostics/DevTools.xaml b/src/Avalonia.Diagnostics/DevTools.xaml
index a538516c1a..1df0f3a097 100644
--- a/src/Avalonia.Diagnostics/DevTools.xaml
+++ b/src/Avalonia.Diagnostics/DevTools.xaml
@@ -1,24 +1,24 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
- Hold Ctrl+Shift over a control to inspect.
-
- Focused:
-
-
- Pointer Over:
-
-
-
+
+ Hold Ctrl+Shift over a control to inspect.
+
+ Focused:
+
+
+ Pointer Over:
+
+
+
diff --git a/src/Avalonia.Diagnostics/DevTools.xaml.cs b/src/Avalonia.Diagnostics/DevTools.xaml.cs
index ccb6151ada..cc3c545d84 100644
--- a/src/Avalonia.Diagnostics/DevTools.xaml.cs
+++ b/src/Avalonia.Diagnostics/DevTools.xaml.cs
@@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Reactive.Disposables;
using System.Reactive.Linq;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
@@ -18,22 +17,22 @@ using Avalonia.VisualTree;
namespace Avalonia
{
- public static class DevToolsExtensions
- {
- public static void AttachDevTools(this TopLevel control)
- {
- Avalonia.Diagnostics.DevTools.Attach(control);
- }
- }
+ public static class DevToolsExtensions
+ {
+ public static void AttachDevTools(this TopLevel control)
+ {
+ Diagnostics.DevTools.Attach(control);
+ }
+ }
}
namespace Avalonia.Diagnostics
{
- public class DevTools : UserControl
+ public class DevTools : UserControl
{
- private static Dictionary s_open = new Dictionary();
- private static HashSet s_visualTreeRoots = new HashSet();
- private IDisposable _keySubscription;
+ private static readonly Dictionary s_open = new Dictionary();
+ private static readonly HashSet s_visualTreeRoots = new HashSet();
+ private readonly IDisposable _keySubscription;
public DevTools(IControl root)
{
@@ -49,7 +48,6 @@ namespace Avalonia.Diagnostics
// HACK: needed for XAMLIL, will fix that later
public DevTools()
{
-
}
public IControl Root { get; }
@@ -67,9 +65,8 @@ namespace Avalonia.Diagnostics
if (e.Key == Key.F12)
{
var control = (TopLevel)sender;
- var devToolsWindow = default(Window);
- if (s_open.TryGetValue(control, out devToolsWindow))
+ if (s_open.TryGetValue(control, out var devToolsWindow))
{
devToolsWindow.Activate();
}
@@ -82,10 +79,7 @@ namespace Avalonia.Diagnostics
Width = 1024,
Height = 512,
Content = devTools,
- DataTemplates =
- {
- new ViewLocator(),
- },
+ DataTemplates = { new ViewLocator() },
Title = "Avalonia DevTools"
};
@@ -118,7 +112,6 @@ namespace Avalonia.Diagnostics
if ((e.Modifiers) == modifiers)
{
-
var point = (Root.VisualRoot as IInputRoot)?.MouseDevice?.GetPosition(Root) ?? default(Point);
var control = Root.GetVisualsAt(point, x => (!(x is AdornerLayer) && x.IsVisible))
.FirstOrDefault();
diff --git a/src/Avalonia.Diagnostics/Models/EventChainLink.cs b/src/Avalonia.Diagnostics/Models/EventChainLink.cs
index aab50a13dd..464187a048 100644
--- a/src/Avalonia.Diagnostics/Models/EventChainLink.cs
+++ b/src/Avalonia.Diagnostics/Models/EventChainLink.cs
@@ -12,9 +12,9 @@ namespace Avalonia.Diagnostics.Models
{
Contract.Requires(handler != null);
- this.Handler = handler;
- this.Handled = handled;
- this.Route = route;
+ Handler = handler;
+ Handled = handled;
+ Route = route;
}
public object Handler { get; }
@@ -27,6 +27,7 @@ namespace Avalonia.Diagnostics.Models
{
return named.Name + " (" + Handler.GetType().Name + ")";
}
+
return Handler.GetType().Name;
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/ControlDetailsViewModel.cs b/src/Avalonia.Diagnostics/ViewModels/ControlDetailsViewModel.cs
index d723890196..4b832f7ce6 100644
--- a/src/Avalonia.Diagnostics/ViewModels/ControlDetailsViewModel.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/ControlDetailsViewModel.cs
@@ -20,16 +20,6 @@ namespace Avalonia.Diagnostics.ViewModels
}
}
- public IEnumerable Classes
- {
- get;
- private set;
- }
-
- public IEnumerable Properties
- {
- get;
- private set;
- }
+ public IEnumerable Properties { get; }
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/DevToolsViewModel.cs b/src/Avalonia.Diagnostics/ViewModels/DevToolsViewModel.cs
index bc80ab0550..9f524a21eb 100644
--- a/src/Avalonia.Diagnostics/ViewModels/DevToolsViewModel.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/DevToolsViewModel.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
-using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Avalonia.Controls;
diff --git a/src/Avalonia.Diagnostics/ViewModels/EventOwnerTreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/EventOwnerTreeNode.cs
index 0674918400..7e38749a6f 100644
--- a/src/Avalonia.Diagnostics/ViewModels/EventOwnerTreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/EventOwnerTreeNode.cs
@@ -13,22 +13,18 @@ namespace Avalonia.Diagnostics.ViewModels
{
internal class EventOwnerTreeNode : EventTreeNodeBase
{
- private static readonly RoutedEvent[] s_defaultEvents = new RoutedEvent[]
+ private static readonly RoutedEvent[] s_defaultEvents =
{
- Button.ClickEvent,
- InputElement.KeyDownEvent,
- InputElement.KeyUpEvent,
- InputElement.TextInputEvent,
- InputElement.PointerReleasedEvent,
- InputElement.PointerPressedEvent,
+ Button.ClickEvent, InputElement.KeyDownEvent, InputElement.KeyUpEvent, InputElement.TextInputEvent,
+ InputElement.PointerReleasedEvent, InputElement.PointerPressedEvent
};
public EventOwnerTreeNode(Type type, IEnumerable events, EventsViewModel vm)
: base(null, type.Name)
{
- this.Children = new AvaloniaList(events.OrderBy(e => e.Name)
+ Children = new AvaloniaList(events.OrderBy(e => e.Name)
.Select(e => new EventTreeNode(this, e, vm) { IsEnabled = s_defaultEvents.Contains(e) }));
- this.IsExpanded = true;
+ IsExpanded = true;
}
public override bool? IsEnabled
@@ -39,6 +35,7 @@ namespace Avalonia.Diagnostics.ViewModels
if (base.IsEnabled != value)
{
base.IsEnabled = value;
+
if (_updateChildren && value != null)
{
foreach (var child in Children)
diff --git a/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
index 7ece790310..36f1904253 100644
--- a/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/EventTreeNode.cs
@@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
-
using Avalonia.Diagnostics.Models;
using Avalonia.Interactivity;
using Avalonia.Threading;
@@ -12,8 +11,8 @@ namespace Avalonia.Diagnostics.ViewModels
{
internal class EventTreeNode : EventTreeNodeBase
{
- private RoutedEvent _event;
- private EventsViewModel _parentViewModel;
+ private readonly RoutedEvent _event;
+ private readonly EventsViewModel _parentViewModel;
private bool _isRegistered;
private FiredEvent _currentEvent;
@@ -23,8 +22,8 @@ namespace Avalonia.Diagnostics.ViewModels
Contract.Requires(@event != null);
Contract.Requires(vm != null);
- this._event = @event;
- this._parentViewModel = vm;
+ _event = @event;
+ _parentViewModel = vm;
}
public override bool? IsEnabled
diff --git a/src/Avalonia.Diagnostics/ViewModels/EventTreeNodeBase.cs b/src/Avalonia.Diagnostics/ViewModels/EventTreeNodeBase.cs
index 146a8cea8e..4be4d8f74e 100644
--- a/src/Avalonia.Diagnostics/ViewModels/EventTreeNodeBase.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/EventTreeNodeBase.cs
@@ -12,10 +12,10 @@ namespace Avalonia.Diagnostics.ViewModels
private bool _isExpanded;
private bool? _isEnabled = false;
- public EventTreeNodeBase(EventTreeNodeBase parent, string text)
+ protected EventTreeNodeBase(EventTreeNodeBase parent, string text)
{
- this.Parent = parent;
- this.Text = text;
+ Parent = parent;
+ Text = text;
}
public IAvaloniaReadOnlyList Children
@@ -26,14 +26,14 @@ namespace Avalonia.Diagnostics.ViewModels
public bool IsExpanded
{
- get { return _isExpanded; }
- set { RaiseAndSetIfChanged(ref _isExpanded, value); }
+ get => _isExpanded;
+ set => RaiseAndSetIfChanged(ref _isExpanded, value);
}
public virtual bool? IsEnabled
{
- get { return _isEnabled; }
- set { RaiseAndSetIfChanged(ref _isEnabled, value); }
+ get => _isEnabled;
+ set => RaiseAndSetIfChanged(ref _isEnabled, value);
}
public EventTreeNodeBase Parent
@@ -44,7 +44,6 @@ namespace Avalonia.Diagnostics.ViewModels
public string Text
{
get;
- private set;
}
internal void UpdateChecked()
@@ -55,7 +54,9 @@ namespace Avalonia.Diagnostics.ViewModels
{
if (Children == null)
return false;
+
bool? value = false;
+
for (int i = 0; i < Children.Count; i++)
{
if (i == 0)
diff --git a/src/Avalonia.Diagnostics/ViewModels/FiredEvent.cs b/src/Avalonia.Diagnostics/ViewModels/FiredEvent.cs
index 049280c390..daf8ebd0f6 100644
--- a/src/Avalonia.Diagnostics/ViewModels/FiredEvent.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/FiredEvent.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.ObjectModel;
-
using Avalonia.Diagnostics.Models;
using Avalonia.Interactivity;
@@ -11,7 +10,7 @@ namespace Avalonia.Diagnostics.ViewModels
{
internal class FiredEvent : ViewModelBase
{
- private RoutedEventArgs _eventArgs;
+ private readonly RoutedEventArgs _eventArgs;
private EventChainLink _handledBy;
public FiredEvent(RoutedEventArgs eventArgs, EventChainLink originator)
@@ -19,8 +18,8 @@ namespace Avalonia.Diagnostics.ViewModels
Contract.Requires(eventArgs != null);
Contract.Requires(originator != null);
- this._eventArgs = eventArgs;
- this.Originator = originator;
+ _eventArgs = eventArgs;
+ Originator = originator;
AddToChain(originator);
}
@@ -42,8 +41,9 @@ namespace Avalonia.Diagnostics.ViewModels
if (IsHandled)
{
return $"{Event.Name} on {Originator.HandlerName};" + Environment.NewLine +
- $"strategies: {Event.RoutingStrategies}; handled by: {HandledBy.HandlerName}";
+ $"strategies: {Event.RoutingStrategies}; handled by: {HandledBy.HandlerName}";
}
+
return $"{Event.Name} on {Originator.HandlerName}; strategies: {Event.RoutingStrategies}";
}
}
@@ -52,7 +52,7 @@ namespace Avalonia.Diagnostics.ViewModels
public EventChainLink HandledBy
{
- get { return _handledBy; }
+ get => _handledBy;
set
{
if (_handledBy != value)
diff --git a/src/Avalonia.Diagnostics/ViewModels/LogicalTreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/LogicalTreeNode.cs
index 638cf6c88f..0b9bd85b4f 100644
--- a/src/Avalonia.Diagnostics/ViewModels/LogicalTreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/LogicalTreeNode.cs
@@ -17,8 +17,7 @@ namespace Avalonia.Diagnostics.ViewModels
public static LogicalTreeNode[] Create(object control)
{
- var logical = control as ILogical;
- return logical != null ? new[] { new LogicalTreeNode(logical, null) } : null;
+ return control is ILogical logical ? new[] { new LogicalTreeNode(logical, null) } : null;
}
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/PropertyDetails.cs b/src/Avalonia.Diagnostics/ViewModels/PropertyDetails.cs
index 2609b74ce0..523be406c8 100644
--- a/src/Avalonia.Diagnostics/ViewModels/PropertyDetails.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/PropertyDetails.cs
@@ -26,7 +26,9 @@ namespace Avalonia.Diagnostics.ViewModels
Value = diagnostic.Value ?? "(null)";
Priority = (diagnostic.Priority != BindingPriority.Unset) ?
diagnostic.Priority.ToString() :
- diagnostic.Property.Inherits ? "Inherited" : "Unset";
+ diagnostic.Property.Inherits ?
+ "Inherited" :
+ "Unset";
Diagnostic = diagnostic.Diagnostic;
});
}
@@ -37,20 +39,20 @@ namespace Avalonia.Diagnostics.ViewModels
public string Priority
{
- get { return _priority; }
- private set { RaiseAndSetIfChanged(ref _priority, value); }
+ get => _priority;
+ private set => RaiseAndSetIfChanged(ref _priority, value);
}
public string Diagnostic
{
- get { return _diagnostic; }
- private set { RaiseAndSetIfChanged(ref _diagnostic, value); }
+ get => _diagnostic;
+ private set => RaiseAndSetIfChanged(ref _diagnostic, value);
}
public object Value
{
- get { return _value; }
- private set { RaiseAndSetIfChanged(ref _value, value); }
+ get => _value;
+ private set => RaiseAndSetIfChanged(ref _value, value);
}
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/TreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/TreeNode.cs
index 7c403e1b04..902eb81bd9 100644
--- a/src/Avalonia.Diagnostics/ViewModels/TreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/TreeNode.cs
@@ -27,9 +27,9 @@ namespace Avalonia.Diagnostics.ViewModels
var classesChanged = Observable.FromEventPattern<
NotifyCollectionChangedEventHandler,
NotifyCollectionChangedEventArgs>(
- x => styleable.Classes.CollectionChanged += x,
- x => styleable.Classes.CollectionChanged -= x)
- .TakeUntil(((IStyleable)styleable).StyleDetach);
+ x => styleable.Classes.CollectionChanged += x,
+ x => styleable.Classes.CollectionChanged -= x)
+ .TakeUntil(styleable.StyleDetach);
classesChanged.Select(_ => Unit.Default)
.StartWith(Unit.Default)
@@ -55,8 +55,8 @@ namespace Avalonia.Diagnostics.ViewModels
public string Classes
{
- get { return _classes; }
- private set { RaiseAndSetIfChanged(ref _classes, value); }
+ get => _classes;
+ private set => RaiseAndSetIfChanged(ref _classes, value);
}
public IVisual Visual
@@ -66,8 +66,8 @@ namespace Avalonia.Diagnostics.ViewModels
public bool IsExpanded
{
- get { return _isExpanded; }
- set { RaiseAndSetIfChanged(ref _isExpanded, value); }
+ get => _isExpanded;
+ set => RaiseAndSetIfChanged(ref _isExpanded, value);
}
public TreeNode Parent
@@ -78,7 +78,6 @@ namespace Avalonia.Diagnostics.ViewModels
public string Type
{
get;
- private set;
}
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/TreePageViewModel.cs b/src/Avalonia.Diagnostics/ViewModels/TreePageViewModel.cs
index 6b294c98bd..b2b1aaa723 100644
--- a/src/Avalonia.Diagnostics/ViewModels/TreePageViewModel.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/TreePageViewModel.cs
@@ -23,7 +23,7 @@ namespace Avalonia.Diagnostics.ViewModels
public TreeNode SelectedNode
{
- get { return _selected; }
+ get => _selected;
set
{
if (RaiseAndSetIfChanged(ref _selected, value))
@@ -35,8 +35,8 @@ namespace Avalonia.Diagnostics.ViewModels
public ControlDetailsViewModel Details
{
- get { return _details; }
- private set { RaiseAndSetIfChanged(ref _details, value); }
+ get => _details;
+ private set => RaiseAndSetIfChanged(ref _details, value);
}
public TreeNode FindNode(IControl control)
@@ -66,7 +66,7 @@ namespace Avalonia.Diagnostics.ViewModels
{
control = control.GetVisualParent();
}
- }
+ }
if (node != null)
{
@@ -90,16 +90,14 @@ namespace Avalonia.Diagnostics.ViewModels
{
return node;
}
- else
+
+ foreach (var child in node.Children)
{
- foreach (var child in node.Children)
- {
- var result = FindNode(child, control);
+ var result = FindNode(child, control);
- if (result != null)
- {
- return result;
- }
+ if (result != null)
+ {
+ return result;
}
}
diff --git a/src/Avalonia.Diagnostics/ViewModels/VisualTreeNode.cs b/src/Avalonia.Diagnostics/ViewModels/VisualTreeNode.cs
index 8c070261d9..47ef91507a 100644
--- a/src/Avalonia.Diagnostics/ViewModels/VisualTreeNode.cs
+++ b/src/Avalonia.Diagnostics/ViewModels/VisualTreeNode.cs
@@ -29,12 +29,11 @@ namespace Avalonia.Diagnostics.ViewModels
}
}
- public bool IsInTemplate { get; private set; }
+ public bool IsInTemplate { get; }
public static VisualTreeNode[] Create(object control)
{
- var visual = control as IVisual;
- return visual != null ? new[] { new VisualTreeNode(visual, null) } : null;
+ return control is IVisual visual ? new[] { new VisualTreeNode(visual, null) } : null;
}
}
}
diff --git a/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs b/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
index 868bc774bb..fb867ab55e 100644
--- a/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
+++ b/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
@@ -14,6 +14,7 @@ namespace Avalonia.Diagnostics.Views
{
private static readonly StyledProperty ViewModelProperty =
AvaloniaProperty.Register(nameof(ViewModel));
+
private SimpleGrid _grid;
public ControlDetailsView()
@@ -25,7 +26,7 @@ namespace Avalonia.Diagnostics.Views
public ControlDetailsViewModel ViewModel
{
- get { return GetValue(ViewModelProperty); }
+ get => GetValue(ViewModelProperty);
private set
{
SetValue(ViewModelProperty, value);
@@ -37,13 +38,7 @@ namespace Avalonia.Diagnostics.Views
{
Func