public virtual void Initialize () { Control = new ItemsControlPoker (); Control.ItemsPanel = CreateVirtualizingPanel (); for (int i = 0; i < 5; i++) Control.Items.Add (i.ToString ()); }
public void Panel_OnItemsChanged_TouchGenerator () { bool raised = false; var control = new ItemsControlPoker (); control.ItemsPanel = CreateVirtualizingPanel (); CreateAsyncTest (control, () => { var panel = control.FindFirstChild<CustomVirtualizingPanel>(); panel.OnItemsChangedAction = () => raised = true; var g = panel.ItemContainerGenerator; control.Items.Add (new object ()); Assert.IsTrue (raised, "#1"); }); }
public void Panel_OnItemsChangedEventOrder2 () { // Hook into everything after the template is applied var ordering = new List<string> (); ItemsControlPoker c = new ItemsControlPoker (); c.ItemsPanel = CreateVirtualizingPanel (); CreateAsyncTest (c, () => c.ApplyTemplate (), () => { c.FindFirstChild<CustomVirtualizingPanel> ().OnItemsChangedAction = () => ordering.Add ("Panel.OnItemsChanged"); c.OnItemsChangedAction = (e) => ordering.Add ("ItemsControl.OnItemsChanged"); c.ItemContainerGenerator.ItemsChanged += (o, e) => ordering.Add ("ICG.ItemsChanged"); }, () => { c.Items.Add (new object ()); Assert.AreEqual (2, ordering.Count, "#1"); Assert.AreEqual ("ICG.ItemsChanged", ordering [0], "#2"); Assert.AreEqual ("ItemsControl.OnItemsChanged", ordering [1], "#3"); }, () => { ordering.Clear (); c.Items.Add (new object ()); Assert.AreEqual (2, ordering.Count, "#4"); Assert.AreEqual ("ICG.ItemsChanged", ordering [0], "#5"); Assert.AreEqual ("ItemsControl.OnItemsChanged", ordering [1], "#6"); } ); }
public virtual void IsItemItsOwnContainerTest () { ItemsControlPoker ic = new ItemsControlPoker (); Assert.IsFalse (ic.IsItemItsOwnContainerOverride_ (null), "null"); Assert.IsFalse (ic.IsItemItsOwnContainerOverride_ (new OpenFileDialog ()), "OpenFileDialog"); Assert.IsFalse (ic.IsItemItsOwnContainerOverride_ (ic.Items), "ItemCollection"); Assert.IsFalse (ic.IsItemItsOwnContainerOverride_ (new RowDefinition ()), "RowDefinition"); }
public void ContainerItemTest7_sl4 () { // Force all elements to *not* be their own container ItemsControlPoker c = new ItemsControlPoker { IsOwnContainer = false }; c.ApplyTemplate (); CreateAsyncTest (c, () => { ContentPresenter item; object content; content = new Rectangle (); c.Items.Add (content); Assert.IsInstanceOfType<ContentPresenter> (c.LastCreatedContainer, "#1"); item = (ContentPresenter) c.LastCreatedContainer; Assert.AreEqual (content, item.Content, "#2"); Assert.IsNull (item.DataContext, "#3"); c.LastCreatedContainer = null; content = "I'm a string"; c.Items.Add (content); Assert.IsInstanceOfType<ContentPresenter> (c.LastCreatedContainer, "#4"); item = (ContentPresenter) c.LastCreatedContainer; Assert.AreEqual (content, item.Content, "#5"); Assert.AreEqual (content, item.DataContext, "#6"); }); }
public void ContainerItemTest6 () { object item = new object (); ConceteElement container = new ConceteElement (); ItemsControlPoker c = new ItemsControlPoker (); c.ContainerItem = container; c.ApplyTemplate (); CreateAsyncTest (c, () => { c.Items.Add (item); Assert.AreEqual (container, c.LastCreatedContainer, "#1"); Assert.AreEqual (container.DataContext, item, "#2"); Assert.AreEqual (container.ReadLocalValue (FrameworkElement.DataContextProperty), item, "#3"); }); }
public void ContainerItemTest5 () { ConceteElement item = new ConceteElement (); ItemsControlPoker c = new ItemsControlPoker (); c.ApplyTemplate (); CreateAsyncTest (c, () => { c.Items.Add (item); Assert.IsNull (c.LastCreatedContainer, "#1"); // No autogenerated container Assert.IsNull (item.DataContext, "#3"); }); }
public void Initialize () { Control = new ItemsControlPoker (); }