Browse Source

More integration of new SelectionModel.

pull/4533/head
Steven Kirk 6 years ago
parent
commit
b2a473d286
  1. 3
      src/Avalonia.Controls/Primitives/SelectingItemsControl.cs
  2. 17
      tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs

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

@ -2,7 +2,6 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using Avalonia.Controls.Generators;
using Avalonia.Controls.Selection;
@ -183,7 +182,7 @@ namespace Avalonia.Controls.Primitives
_selection = CreateDefaultSelectionModel();
InitializeSelectionModel(_selection);
}
return _selection;
}
set

17
tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs

@ -781,6 +781,8 @@ namespace Avalonia.Controls.UnitTests.Primitives
target.Items = items;
((ISupportInitialize)target).EndInit();
Prepare(target);
Assert.Equal(1, target.SelectedIndex);
Assert.Equal("Bar", target.SelectedItem);
}
@ -796,6 +798,8 @@ namespace Avalonia.Controls.UnitTests.Primitives
target.Items = items;
((ISupportInitialize)target).EndInit();
Prepare(target);
Assert.Equal(1, target.SelectedIndex);
Assert.Equal("Bar", target.SelectedItem);
}
@ -1079,7 +1083,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
Assert.Equal("Bar", target.SelectedItem);
}
[Fact(Skip = "We don't handle this properly yet")]
[Fact]
public void Binding_SelectedIndex_Selects_Correct_Item()
{
// Issue #4496 (part 2)
@ -1099,9 +1103,8 @@ namespace Avalonia.Controls.UnitTests.Primitives
[!ListBox.SelectedIndexProperty] = other[!ListBox.SelectedIndexProperty],
};
Prepare(other);
Prepare(target);
other.ApplyTemplate();
other.Presenter.ApplyTemplate();
items.Add("Foo");
@ -1109,7 +1112,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
Assert.Equal(0, target.SelectedIndex);
}
[Fact(Skip = "We don't handle this properly yet")]
[Fact]
public void Binding_SelectedItem_Selects_Correct_Item()
{
// Issue #4496 (part 2)
@ -1160,8 +1163,8 @@ namespace Avalonia.Controls.UnitTests.Primitives
items[1] = "Qux";
Assert.Equal(1, target.SelectedIndex);
Assert.Equal("Qux", target.SelectedItem);
Assert.Equal(-1, target.SelectedIndex);
Assert.Null(target.SelectedItem);
}
[Fact]
@ -1243,6 +1246,8 @@ namespace Avalonia.Controls.UnitTests.Primitives
target.SelectedItem = "Bar";
target.EndInit();
Prepare(target);
Assert.Equal("Bar", target.SelectedItem);
Assert.Equal(1, target.SelectedIndex);
Assert.Same(selectedItems, target.SelectedItems);

Loading…
Cancel
Save