Browse Source

Swap order of parameters to event args.

As described in #3437 the argument ordering was different to WPF/UWP causing bugs in some code ported from WPF/UWP. Use the same argument ordering as WPF/UWP.

Fixes #3437
pull/3526/head
Steven Kirk 7 years ago
parent
commit
2722f509fa
  1. 2
      src/Avalonia.Controls/AutoCompleteBox.cs
  2. 2
      src/Avalonia.Controls/Calendar/DatePicker.cs
  3. 4
      src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs
  4. 8
      src/Avalonia.Controls/Primitives/SelectingItemsControl.cs
  5. 4
      src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs
  6. 6
      src/Avalonia.Controls/SelectionChangedEventArgs.cs
  7. 4
      src/Avalonia.Controls/TreeView.cs

2
src/Avalonia.Controls/AutoCompleteBox.cs

@ -683,7 +683,7 @@ namespace Avalonia.Controls
added.Add(e.NewValue); added.Add(e.NewValue);
} }
OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, added, removed)); OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, removed, added));
} }
/// <summary> /// <summary>

2
src/Avalonia.Controls/Calendar/DatePicker.cs

@ -788,7 +788,7 @@ namespace Avalonia.Controls
removedItems.Add(removedDate.Value); removedItems.Add(removedDate.Value);
} }
handler(this, new SelectionChangedEventArgs(SelectingItemsControl.SelectionChangedEvent, addedItems, removedItems)); handler(this, new SelectionChangedEventArgs(SelectingItemsControl.SelectionChangedEvent, removedItems, addedItems));
} }
} }
private void OnCalendarClosed(EventArgs e) private void OnCalendarClosed(EventArgs e)

4
src/Avalonia.Controls/Calendar/SelectedDatesCollection.cs

@ -49,7 +49,7 @@ namespace Avalonia.Controls.Primitives
private void InvokeCollectionChanged(System.Collections.IList removedItems, System.Collections.IList addedItems) private void InvokeCollectionChanged(System.Collections.IList removedItems, System.Collections.IList addedItems)
{ {
_owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, addedItems, removedItems)); _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, removedItems, addedItems));
} }
/// <summary> /// <summary>
@ -119,7 +119,7 @@ namespace Avalonia.Controls.Primitives
} }
} }
_owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, _addedItems, _owner.RemovedItems)); _owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, _owner.RemovedItems, _addedItems));
_owner.RemovedItems.Clear(); _owner.RemovedItems.Clear();
_owner.UpdateMonths(); _owner.UpdateMonths();
_isRangeAdded = false; _isRangeAdded = false;

8
src/Avalonia.Controls/Primitives/SelectingItemsControl.cs

@ -939,8 +939,8 @@ namespace Avalonia.Controls.Primitives
{ {
var changed = new SelectionChangedEventArgs( var changed = new SelectionChangedEventArgs(
SelectionChangedEvent, SelectionChangedEvent,
added ?? Empty, removed ?? Empty,
removed ?? Empty); added ?? Empty);
RaiseEvent(changed); RaiseEvent(changed);
} }
} }
@ -1055,8 +1055,8 @@ namespace Avalonia.Controls.Primitives
var e = new SelectionChangedEventArgs( var e = new SelectionChangedEventArgs(
SelectionChangedEvent, SelectionChangedEvent,
added != -1 ? new[] { ElementAt(Items, added) } : Array.Empty<object>(), removed?.Select(x => ElementAt(Items, x)).ToArray() ?? Array.Empty<object>(),
removed?.Select(x => ElementAt(Items, x)).ToArray() ?? Array.Empty<object>()); added != -1 ? new[] { ElementAt(Items, added) } : Array.Empty<object>());
RaiseEvent(e); RaiseEvent(e);
} }

4
src/Avalonia.Controls/Repeater/ItemsRepeaterElementIndexChangedEventArgs.cs

@ -12,11 +12,11 @@ namespace Avalonia.Controls
/// </summary> /// </summary>
public class ItemsRepeaterElementIndexChangedEventArgs : EventArgs public class ItemsRepeaterElementIndexChangedEventArgs : EventArgs
{ {
internal ItemsRepeaterElementIndexChangedEventArgs(IControl element, int newIndex, int oldIndex) internal ItemsRepeaterElementIndexChangedEventArgs(IControl element, int oldIndex, int newIndex)
{ {
Element = element; Element = element;
NewIndex = newIndex;
OldIndex = oldIndex; OldIndex = oldIndex;
NewIndex = newIndex;
} }
/// <summary> /// <summary>

6
src/Avalonia.Controls/SelectionChangedEventArgs.cs

@ -16,13 +16,13 @@ namespace Avalonia.Controls
/// Initializes a new instance of the <see cref="SelectionChangedEventArgs"/> class. /// Initializes a new instance of the <see cref="SelectionChangedEventArgs"/> class.
/// </summary> /// </summary>
/// <param name="routedEvent">The event being raised.</param> /// <param name="routedEvent">The event being raised.</param>
/// <param name="addedItems">The items added to the selection.</param>
/// <param name="removedItems">The items removed from the selection.</param> /// <param name="removedItems">The items removed from the selection.</param>
public SelectionChangedEventArgs(RoutedEvent routedEvent, IList addedItems, IList removedItems) /// <param name="addedItems">The items added to the selection.</param>
public SelectionChangedEventArgs(RoutedEvent routedEvent, IList removedItems, IList addedItems)
: base(routedEvent) : base(routedEvent)
{ {
AddedItems = addedItems;
RemovedItems = removedItems; RemovedItems = removedItems;
AddedItems = addedItems;
} }
/// <summary> /// <summary>

4
src/Avalonia.Controls/TreeView.cs

@ -324,8 +324,8 @@ namespace Avalonia.Controls
{ {
var changed = new SelectionChangedEventArgs( var changed = new SelectionChangedEventArgs(
SelectingItemsControl.SelectionChangedEvent, SelectingItemsControl.SelectionChangedEvent,
added ?? Empty, removed ?? Empty,
removed ?? Empty); added ?? Empty);
RaiseEvent(changed); RaiseEvent(changed);
} }
} }

Loading…
Cancel
Save