public void First_Item_Should_Be_Selected_When_Added() { var items = new PerspexList<string>(); var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); items.Add("foo"); Assert.Equal(0, target.SelectedIndex); Assert.Equal("foo", target.SelectedItem); }
public void First_Item_Should_Be_Selected_When_Added() { var items = new PerspexList <string>(); var target = new TestSelector { Items = items, Template = Template(), }; target.ApplyTemplate(); items.Add("foo"); Assert.Equal(0, target.SelectedIndex); Assert.Equal("foo", target.SelectedItem); }
public void First_Item_Should_Be_Selected_When_Added() { var items = new PerspexList<string>(); var target = new SelectingItemsControl { AutoSelect = true, Items = items, Template = this.Template(), }; target.ApplyTemplate(); items.Add("foo"); Assert.Equal(0, target.SelectedIndex); Assert.Equal("foo", target.SelectedItem); }
public void Adding_Items_Should_Fire_LogicalChildren_CollectionChanged() { var target = new ItemsControl(); var items = new PerspexList<string> { "Foo" }; var called = false; target.Template = this.GetTemplate(); target.Items = items; target.ApplyTemplate(); ((ILogical)target).LogicalChildren.CollectionChanged += (s, e) => called = e.Action == NotifyCollectionChangedAction.Add; items.Add("Bar"); Assert.True(called); }
public void Adding_Items_Should_Fire_LogicalChildren_CollectionChanged() { var target = new ItemsControl(); var items = new PerspexList <string> { "Foo" }; var called = false; target.Template = GetTemplate(); target.Items = items; target.ApplyTemplate(); ((ILogical)target).LogicalChildren.CollectionChanged += (s, e) => called = e.Action == NotifyCollectionChangedAction.Add; items.Add("Bar"); Assert.True(called); }
public void Adding_Item_Should_Raise_CollectionChanged() { var target = new PerspexList <int>(new[] { 1, 2 }); var raised = false; target.CollectionChanged += (s, e) => { Assert.Equal(target, s); Assert.Equal(NotifyCollectionChangedAction.Add, e.Action); Assert.Equal(new[] { 3 }, e.NewItems.Cast <int>()); Assert.Equal(2, e.NewStartingIndex); raised = true; }; target.Add(3); Assert.True(raised); }
public void Adding_Item_Should_Raise_CollectionChanged() { var target = new PerspexList<int>(new[] { 1, 2 }); var raised = false; target.CollectionChanged += (s, e) => { Assert.Equal(target, s); Assert.Equal(NotifyCollectionChangedAction.Add, e.Action); Assert.Equal(new[] { 3 }, e.NewItems.Cast<int>()); Assert.Equal(2, e.NewStartingIndex); raised = true; }; target.Add(3); Assert.True(raised); }
public void Adding_Selected_Item_Should_Update_Selection() { var items = new PerspexList<Item>(new[] { new Item(), new Item(), }); var target = new SelectingItemsControl { Items = items, Template = this.Template(), }; target.ApplyTemplate(); items.Add(new Item { IsSelected = true }); Assert.Equal(2, target.SelectedIndex); Assert.Equal(items[2], target.SelectedItem); }
public object ConvertFrom(IValueContext context, CultureInfo culture, object value) { var result = new PerspexList <T>(); var values = ((string)value).Split(','); foreach (var s in values) { object v; if (TypeUtilities.TryConvert(typeof(T), s, culture, out v)) { result.Add((T)v); } else { throw new InvalidCastException($"Could not convert '{s}' to {typeof(T)}."); } } return(result); }
public void Adding_Selected_Item_Should_Update_Selection() { var items = new PerspexList <Item>(new[] { new Item(), new Item(), }); var target = new SelectingItemsControl { Items = items, Template = Template(), }; target.ApplyTemplate(); items.Add(new Item { IsSelected = true }); Assert.Equal(2, target.SelectedIndex); Assert.Equal(items[2], target.SelectedItem); }