public void BlockBinding() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; BlockBinding <Label> blockLabel = null; BlockBinding <TextBlock> blockHeader = null; var elementManager = dataSet.CreateElementManager(builder => { blockHeader = _.AsBlockHeader(); blockLabel = _.Name.AsBlockLabel(blockHeader); builder.Layout(Orientation.Vertical, 2) .GridColumns("100", "100", "100").GridRows("100").RowRange(2, 0, 2, 0) .AddBinding(0, 0, blockLabel) .AddBinding(1, 0, blockHeader); }); Assert.IsNull(blockLabel.SettingUpElement); Assert.IsNull(blockHeader.SettingUpElement); var currentRow = elementManager.Rows[0]; Assert.AreEqual(_.Name.DisplayName, blockLabel[0].Content); Assert.AreEqual("0", blockHeader[0].Text); Assert.AreEqual(blockHeader[0], blockLabel[0].Target); }
public void BlockCompositeBinding_XAML() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; BlockBinding <Label> blockLabel = null; BlockBinding <TextBlock> blockHeader = null; BlockCompositeBinding <XamlPane> pane = null; var elementManager = dataSet.CreateElementManager(builder => { blockHeader = _.AsBlockHeader(); blockLabel = _.Name.AsBlockLabel(blockHeader); pane = new BlockCompositeBinding <XamlPane>().AddChild(blockLabel, v => v.Label).AddChild(blockHeader, v => v.TextBlock); builder.Layout(Orientation.Vertical, 2) .GridColumns("100", "100").GridRows("100").RowRange(1, 0, 1, 0) .AddBinding(0, 0, pane); }); Assert.IsNull(blockLabel.SettingUpElement); Assert.IsNull(blockHeader.SettingUpElement); Assert.IsNull(pane.GetSettingUpElement()); var currentRow = elementManager.Rows[0]; Assert.AreEqual(pane[0].Children[0], blockLabel[0]); Assert.AreEqual(pane[0].Children[1], blockHeader[0]); Assert.AreEqual(_.Name.DisplayName, blockLabel[0].Content); Assert.AreEqual("0", blockHeader[0].Text); Assert.AreEqual(blockHeader[0], blockLabel[0].Target); }
public void ScalarCompositeBinding() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; ScalarBinding <Label> label = null; ScalarBinding <TextBlock> textBlock = null; ScalarCompositeBinding <XamlPane> pane = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.AsScalarTextBlock(); label = _.Name.AsScalarLabel(textBlock); pane = new ScalarCompositeBinding <XamlPane>().AddChild(label, v => v.Label).AddChild(textBlock, v => v.TextBlock); builder.Layout(Orientation.Vertical, 0) .GridColumns("100").GridRows("100", "100") .AddBinding(0, 0, pane) .AddBinding(0, 1, _.Name.BindToTextBlock()); }); Assert.IsNull(label.GetSettingUpElement(0)); Assert.IsNull(textBlock.GetSettingUpElement(0)); Assert.AreEqual(1, label.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, label[0].Content); Assert.AreEqual(1, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(textBlock[0], label[0].Target); }
public void RowCompositeBinding_XAML() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; RowBinding <Label> label = null; RowBinding <TextBlock> textBlock = null; RowCompositeBinding <XamlPane> pane = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.BindToTextBlock(); label = _.Name.BindToLabel(textBlock); pane = new RowCompositeBinding <XamlPane>().AddChild(label, v => v.Label).AddChild(textBlock, v => v.TextBlock); builder.GridRows("100").GridColumns("100").AddBinding(0, 0, pane); }); Assert.IsNull(label.SettingUpElement); Assert.IsNull(textBlock.SettingUpElement); Assert.IsNull(pane.GetSettingUpElement()); var currentRow = elementManager.Rows[0]; Assert.AreEqual(pane[currentRow].Children[0], label[currentRow]); Assert.AreEqual(pane[currentRow].Children[1], textBlock[currentRow]); Assert.AreEqual(_.Name.DisplayName, label[currentRow].Content); Assert.AreEqual(currentRow.GetValue(_.Name), textBlock[currentRow].Text); Assert.AreEqual(textBlock[currentRow], label[currentRow].Target); }
public void RowBinding() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; RowBinding <Label> label = null; RowBinding <TextBlock> textBlock = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.BindToTextBlock(); label = _.Name.BindToLabel(textBlock); builder.GridColumns("100", "100").GridRows("100") .AddBinding(0, 0, label) .AddBinding(1, 0, textBlock); }); Assert.IsNull(label.SettingUpElement); Assert.IsNull(textBlock.SettingUpElement); var currentRow = elementManager.Rows[0]; Assert.AreEqual(_.Name.DisplayName, label[currentRow].Content); Assert.AreEqual(currentRow.GetValue(_.Name), textBlock[currentRow].Text); Assert.AreEqual(textBlock[currentRow], label[currentRow].Target); }
public void ScalarBinding() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; ScalarBinding <Label> label = null; ScalarBinding <TextBlock> textBlock = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.AsScalarTextBlock(); label = _.Name.AsScalarLabel(textBlock); builder.GridColumns("100", "100", "100").GridRows("100").RowRange(2, 0, 2, 0) .AddBinding(0, 0, label) .AddBinding(1, 0, textBlock); }); Assert.IsNull(label.GetSettingUpElement(0)); Assert.IsNull(textBlock.GetSettingUpElement(0)); Assert.AreEqual(1, label.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, label[0].Content); Assert.AreEqual(1, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(textBlock[0], label[0].Target); }
public void ScalarBinding_flowable() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; ScalarBinding <Label> label = null; ScalarBinding <TextBlock> textBlock = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.AsScalarTextBlock().RepeatWhenFlow(); label = _.Name.AsFlowRepeatableScalarLabel(textBlock); builder.Layout(Orientation.Vertical, 0) .GridColumns("100", "100").GridRows("100", "100") .AddBinding(0, 0, label) .AddBinding(0, 1, 1, 1, _.Name.BindToTextBlock()) .AddBinding(1, 0, textBlock); }); elementManager.FlowRepeatCount = 2; Assert.IsNull(label.GetSettingUpElement(0)); Assert.IsNull(textBlock.GetSettingUpElement(0)); Assert.AreEqual(2, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); elementManager.FlowRepeatCount = 3; Assert.AreEqual(3, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual("2. " + _.Name.DisplayName, label[2].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, label[2].GetScalarFlowIndex()); Assert.AreEqual(3, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[2].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock[2].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); Assert.AreEqual(textBlock[2], label[2].Target); elementManager.FlowRepeatCount = 2; Assert.AreEqual(2, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); }
public void CompositeScalarBinding_flowable() { var dataSet = DataSetMock.ProductCategories(1); var _ = dataSet._; ScalarBinding <Label> label = null; ScalarBinding <TextBlock> textBlock = null; ScalarCompositeBinding <XamlPane> pane = null; var elementManager = dataSet.CreateElementManager(builder => { textBlock = _.Name.AsScalarTextBlock(); label = _.Name.AsFlowRepeatableScalarLabel(textBlock); pane = new ScalarCompositeBinding <XamlPane>().RepeatWhenFlow() .AddChild(label, v => v.Label).AddChild(textBlock, v => v.TextBlock); builder.Layout(Orientation.Vertical, 0) .GridColumns("100").GridRows("100", "100") .AddBinding(0, 0, pane) .AddBinding(0, 1, _.Name.BindToTextBlock()); }); Assert.AreEqual(1, pane.FlowRepeatCount); Assert.AreEqual(0, pane[0].GetScalarFlowIndex()); Assert.AreEqual(1, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(pane[0].Children[0], label[0]); Assert.AreEqual(pane[0].Children[1], textBlock[0]); elementManager.FlowRepeatCount = 2; Assert.AreEqual(2, pane.FlowRepeatCount); Assert.AreEqual(0, pane[0].GetScalarFlowIndex()); Assert.AreEqual(1, pane[1].GetScalarFlowIndex()); Assert.AreEqual(2, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); Assert.AreEqual(pane[0].Children[0], label[0]); Assert.AreEqual(pane[0].Children[1], textBlock[0]); Assert.AreEqual(pane[1].Children[0], label[1]); Assert.AreEqual(pane[1].Children[1], textBlock[1]); elementManager.FlowRepeatCount = 3; Assert.AreEqual(3, pane.FlowRepeatCount); Assert.AreEqual(0, pane[0].GetScalarFlowIndex()); Assert.AreEqual(1, pane[1].GetScalarFlowIndex()); Assert.AreEqual(2, pane[2].GetScalarFlowIndex()); Assert.AreEqual(3, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual("2. " + _.Name.DisplayName, label[2].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, label[2].GetScalarFlowIndex()); Assert.AreEqual(3, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[2].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock[2].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); Assert.AreEqual(textBlock[2], label[2].Target); Assert.AreEqual(pane[0].Children[0], label[0]); Assert.AreEqual(pane[0].Children[1], textBlock[0]); Assert.AreEqual(pane[1].Children[0], label[1]); Assert.AreEqual(pane[1].Children[1], textBlock[1]); Assert.AreEqual(pane[2].Children[0], label[2]); Assert.AreEqual(pane[2].Children[1], textBlock[2]); elementManager.FlowRepeatCount = 2; Assert.AreEqual(2, pane.FlowRepeatCount); Assert.AreEqual(0, pane[0].GetScalarFlowIndex()); Assert.AreEqual(1, pane[1].GetScalarFlowIndex()); Assert.AreEqual(2, label.FlowRepeatCount); Assert.AreEqual("0. " + _.Name.DisplayName, label[0].Content); Assert.AreEqual("1. " + _.Name.DisplayName, label[1].Content); Assert.AreEqual(0, label[0].GetScalarFlowIndex()); Assert.AreEqual(1, label[1].GetScalarFlowIndex()); Assert.AreEqual(2, textBlock.FlowRepeatCount); Assert.AreEqual(_.Name.DisplayName, textBlock[0].Text); Assert.AreEqual(_.Name.DisplayName, textBlock[1].Text); Assert.AreEqual(0, textBlock[0].GetScalarFlowIndex()); Assert.AreEqual(1, textBlock[1].GetScalarFlowIndex()); Assert.AreEqual(textBlock[0], label[0].Target); Assert.AreEqual(textBlock[1], label[1].Target); Assert.AreEqual(pane[0].Children[0], label[0]); Assert.AreEqual(pane[0].Children[1], textBlock[0]); Assert.AreEqual(pane[1].Children[0], label[1]); Assert.AreEqual(pane[1].Children[1], textBlock[1]); }