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/3469/head
Steven Kirk 6 years ago
parent
commit
640a5c5d8b
  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);
}
OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, added, removed));
OnSelectionChanged(new SelectionChangedEventArgs(SelectionChangedEvent, removed, added));
}
/// <summary>

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

@ -788,7 +788,7 @@ namespace Avalonia.Controls
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)

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)
{
_owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, addedItems, removedItems));
_owner.OnSelectedDatesCollectionChanged(new SelectionChangedEventArgs(null, removedItems, addedItems));
}
/// <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.UpdateMonths();
_isRangeAdded = false;

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

@ -939,8 +939,8 @@ namespace Avalonia.Controls.Primitives
{
var changed = new SelectionChangedEventArgs(
SelectionChangedEvent,
added ?? Empty,
removed ?? Empty);
removed ?? Empty,
added ?? Empty);
RaiseEvent(changed);
}
}
@ -1055,8 +1055,8 @@ namespace Avalonia.Controls.Primitives
var e = new SelectionChangedEventArgs(
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);
}

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

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

6
src/Avalonia.Controls/SelectionChangedEventArgs.cs

@ -16,13 +16,13 @@ namespace Avalonia.Controls
/// Initializes a new instance of the <see cref="SelectionChangedEventArgs"/> class.
/// </summary>
/// <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>
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)
{
AddedItems = addedItems;
RemovedItems = removedItems;
AddedItems = addedItems;
}
/// <summary>

4
src/Avalonia.Controls/TreeView.cs

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

Loading…
Cancel
Save