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");
				}
			);
		}
Esempio n. 4
0
		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");
		}
Esempio n. 5
0
		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");
			});
		}
Esempio n. 6
0
		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");
			});
		}
Esempio n. 7
0
		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");
			});
		}
Esempio n. 8
0
		public void Initialize ()
		{
			Control = new ItemsControlPoker ();
		}