void GenerateContent() { if (model.Words.Count != 0) { Window win = window as Window; Grid grid = (Grid)LogicalTreeHelper.FindLogicalNode(win, "DataGrid"); int index = rand.Next(0, model.Words.Count); answer = model.Words[index]; userAnswer = new char[answer.Word.Length]; Viewbox translate = DynamicElements.CreateViewBoxLabel(answer.Translate, answer.WordId); DynamicElements.SetRowColumnProperties(translate, 1, 0, 2, 1); grid.Children.Add(translate); Grid targetGrid = DynamicElements.CreateGrid(answer.Word.Length, 1, GridUnitType.Star, GridUnitType.Star); targetGrid.Name = "TargetGrid"; DynamicElements.SetRowColumnProperties(targetGrid, 2, 0, 2, 1); grid.Children.Add(targetGrid); Grid questGrid = DynamicElements.CreateGrid(answer.Word.Length, 1, GridUnitType.Star, GridUnitType.Star); questGrid.Name = "QuestGrid"; DynamicElements.SetRowColumnProperties(questGrid, 4, 0, 2, 1); grid.Children.Add(questGrid); FillGrid(Shuffle(answer.Word), questGrid); model.Words.RemoveAt(index); AddNextComplete(model.Words.Count); if (model.Words.Count != 0) { ((Border)LogicalTreeHelper.FindLogicalNode(win, "NextBord")).Visibility = Visibility.Visible; } else { ((Border)LogicalTreeHelper.FindLogicalNode(win, "CompleteBord")).Visibility = Visibility.Visible; } } }
Test(WindowState state) { InitializeComponent(); grid = DynamicElements.CreateGrid(4, 0, GridUnitType.Star, GridUnitType.Star); DynamicElements.SetRowColumnProperties(grid, 0, 1, mainGrid.ColumnDefinitions.Count - 1, mainGrid.RowDefinitions.Count - 1); mainGrid.Children.Add(grid); this.WindowState = state; questFontSize = WindowStateCheck(); }
public void SetMainData(TestsModel test) { int questCount = 0; foreach (QuestionsModel quest in test.Questions) { int count = 0; Grid grid = DynamicElements.CreateGrid(5, quest.Answers.Count + 3, GridUnitType.Star, GridUnitType.Star); RichTextBox rtb = new RichTextBox(); rtb.Name = "rtb_Question" + quest.Id; DynamicElements.SetRowColumnProperties(rtb, count, 1, 4, 2); Viewbox number = DynamicElements.CreateViewBoxLabel((questCount + 1) + ".", 0); DynamicElements.SetRowColumnProperties(number, count, 0, 1, 1); grid.Children.Add(number); count += 3; rtb.AppendText(quest.Text); rtb.FontSize = fontSize; grid.Children.Add(rtb); foreach (AnswersModel answer in quest.Answers) { Border bord = new Border(); bord.Margin = new Thickness(1, 3, 1, 1); bord.MaxHeight = 100; if (answer.UserChoice == true && answer.Rightness == true) { bord.Background = this.FindResource("Green") as Brush; } else if (answer.UserChoice == true) { bord.Background = Brushes.PaleVioletRed; } else if (answer.Rightness == true) { bord.Background = Brushes.LightGreen; } Viewbox vb = new Viewbox(); vb.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; CheckBox cb = DynamicElements.CreateCheckBox(answer.UserChoice); vb.Child = cb; cb.Content = answer.Text; bord.Child = vb; DynamicElements.SetRowColumnProperties(bord, count, 1, 3, 1); count++; grid.Children.Add(bord); } panel.Children.Add(grid); questCount++; } }
public void GenerateContent(List <GroupModel> data) { foreach (GroupModel el in data) { Border bord = new Border(); bord.Style = this.FindResource("MainBorderStyle") as Style; bord.Name = "Border" + el.Group; bord.Tag = el.Group; Grid grid = DynamicElements.CreateGrid(2, 5, GridUnitType.Auto, GridUnitType.Auto); grid.MinWidth = 188; Viewbox vB = DynamicElements.CreateViewBox(0, 0, 2, 1); Label lb = DynamicElements.CreateLabel(el.Name, 16); vB.Child = lb; grid.Children.Add(vB); string[,] labelVal = new string[, ] { { "Слов:", el.WordsCount.ToString() }, { "Сложность:", el.Difficult } }; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { vB = DynamicElements.CreateViewBox(i + 1, j, 1, 1); lb = DynamicElements.CreateLabel(labelVal[i, j], 12); vB.Child = lb; grid.Children.Add(vB); } } Image img = DynamicElements.CreateImage(el.Image, 3, 0, 2, 1, 100); grid.Children.Add(img); Border border = DynamicElements.CreateBorder(this.FindResource("LearnBorderStyle") as Style, 4, 0, 2, 1); border.Margin = new Thickness(3); border.Child = DynamicElements.CreateViewBoxLabel("Изучить", 0); grid.Children.Add(border); //Button btn = new Button(); //btn.Style = this.FindResource("ButtonStyle") as Style; //DynamicElements.SetRowColumnProperties(btn, 4, 0, 2, 1); //grid.Children.Add(btn); bord.Child = grid; SetContent(bord); } }