Browse Source

ItemsRepeater.Items -> ItemsSource.

pull/10831/head
Steven Kirk 3 years ago
parent
commit
22f266f994
  1. 2
      samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml
  2. 22
      src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeater.cs
  3. 8
      tests/Avalonia.Controls.ItemsRepeater.UnitTests/ItemsRepeaterTests.cs
  4. 2
      tests/Avalonia.Markup.Xaml.UnitTests/Xaml/StyleTests.cs

2
samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml

@ -66,7 +66,7 @@
<ScrollViewer Name="scroller"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<ItemsRepeater Name="repeater" Background="Transparent" Items="{Binding Items}"
<ItemsRepeater Name="repeater" Background="Transparent" ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource elementFactory}"/>
</ScrollViewer>
</Border>

22
src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeater.cs

@ -36,13 +36,13 @@ namespace Avalonia.Controls
ItemsControl.ItemTemplateProperty.AddOwner<ItemsRepeater>();
/// <summary>
/// Defines the <see cref="Items"/> property.
/// Defines the <see cref="ItemsSource"/> property.
/// </summary>
public static readonly DirectProperty<ItemsRepeater, IEnumerable?> ItemsProperty =
public static readonly DirectProperty<ItemsRepeater, IEnumerable?> ItemsSourceProperty =
AvaloniaProperty.RegisterDirect<ItemsRepeater, IEnumerable?>(
nameof(Items),
o => o.Items,
(o, v) => o.Items = v);
nameof(ItemsSource),
o => o.ItemsSource,
(o, v) => o.ItemsSource = v);
/// <summary>
/// Defines the <see cref="Layout"/> property.
@ -65,7 +65,7 @@ namespace Avalonia.Controls
private readonly ViewManager _viewManager;
private readonly ViewportManager _viewportManager;
private readonly TargetWeakEventSubscriber<ItemsRepeater, EventArgs> _layoutWeakSubscriber;
private IEnumerable? _items;
private IEnumerable? _itemsSource;
private RepeaterLayoutContext? _layoutContext;
private EventHandler<ChildIndexChangedEventArgs>? _childIndexChanged;
private bool _isLayoutInProgress;
@ -116,16 +116,16 @@ namespace Avalonia.Controls
/// <summary>
/// Gets or sets an object source used to generate the content of the ItemsRepeater.
/// </summary>
public IEnumerable? Items
public IEnumerable? ItemsSource
{
get => _items;
set => SetAndRaise(ItemsProperty, ref _items, value);
get => _itemsSource;
set => SetAndRaise(ItemsSourceProperty, ref _itemsSource, value);
}
/// <summary>
/// Gets or sets the template used to display each item.
/// </summary>
[InheritDataTypeFromItems(nameof(Items))]
[InheritDataTypeFromItems(nameof(ItemsSource))]
public IDataTemplate? ItemTemplate
{
get => GetValue(ItemTemplateProperty);
@ -415,7 +415,7 @@ namespace Avalonia.Controls
/// <inheritdoc />
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
{
if (change.Property == ItemsProperty)
if (change.Property == ItemsSourceProperty)
{
var (oldEnumerable, newEnumerable) = change.GetOldAndNewValue<IEnumerable?>();

8
tests/Avalonia.Controls.ItemsRepeater.UnitTests/ItemsRepeaterTests.cs

@ -9,16 +9,16 @@ namespace Avalonia.Controls.UnitTests
public void Can_Reassign_Items()
{
var target = new ItemsRepeater();
target.Items = new ObservableCollection<string>();
target.Items = new ObservableCollection<string>();
target.ItemsSource = new ObservableCollection<string>();
target.ItemsSource = new ObservableCollection<string>();
}
[Fact]
public void Can_Reassign_Items_To_Null()
{
var target = new ItemsRepeater();
target.Items = new ObservableCollection<string>();
target.Items = null;
target.ItemsSource = new ObservableCollection<string>();
target.ItemsSource = null;
}
}
}

2
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/StyleTests.cs

@ -424,7 +424,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
};
var list = window.FindControl<ItemsRepeater>("list");
list.Items = collection;
list.ItemsSource = collection;
window.Show();

Loading…
Cancel
Save