void TestXmlProperty() { var dataContext = new ItemsControlTestModel { Users = new List <SimpleClass1> { new SimpleClass1 { LastName = "A" }, new SimpleClass1 { LastName = "B" } } }; var fe = new FrameworkElement { DataContext = dataContext }; var xml = "<ItemsControl ItemsSource ='{Users}' class='ui list'>" + " <ItemsControl.ItemTemplate>" + " <div>" + " <yt>{LastName}</yt>" + " </div>" + " </ItemsControl.ItemTemplate>" + "</ItemsControl>"; UIBuilder.LoadComponent(fe, xml); var itemsControl = fe.GetLogicalChildAt(0); var div = new HtmlElement("div", "ttt"); div.AddLogicalChild(itemsControl); MustEqual(2, itemsControl.VisualChilderenCount); MustEqual(2, itemsControl.LogicalChilderenCount); MustEqual("A", itemsControl.GetLogicalChildAt(0).GetLogicalChildAt(0).html()); }
void ShouldRenderWhenItemsSourceChanged() { var model = new ItemsControlTestModel { Users = new List <SimpleClass1> { new SimpleClass1 { LastName = "A" }, new SimpleClass1 { LastName = "B" } } }; var xmlString = "<ItemsControl ItemsSource='{Users}'>" + " <ItemsControl.ItemTemplate>" + " <div>" + " <yt>{LastName}</yt>" + " </div>" + " </ItemsControl.ItemTemplate>" + "</ItemsControl>"; var ui = new FrameworkElement { DataContext = model }; ui.LoadComponent(xmlString); var itemsControl = ui.GetLogicalChildAt(0); MustEqual(2, itemsControl.VisualChilderenCount); MustEqual(2, itemsControl.LogicalChilderenCount); MustEqual("A", itemsControl.GetLogicalChildAt(0).GetLogicalChildAt(0).html()); MustEqual("B", itemsControl.GetLogicalChildAt(1).GetLogicalChildAt(0).html()); ui.DataContext = new ItemsControlTestModel { Users = new List <SimpleClass1> { new SimpleClass1 { LastName = "C" }, new SimpleClass1 { LastName = "D" }, new SimpleClass1 { LastName = "E" } } }; MustEqual(3, itemsControl.VisualChilderenCount); MustEqual(3, itemsControl.LogicalChilderenCount); MustEqual("C", itemsControl.GetLogicalChildAt(0).GetLogicalChildAt(0).html()); MustEqual("D", itemsControl.GetLogicalChildAt(1).GetLogicalChildAt(0).html()); MustEqual("E", itemsControl.GetLogicalChildAt(2).GetLogicalChildAt(0).html()); }