public void Initialise(string[] milestoneTexts, string[] milestoneNumbers) { //add milestone buttons milestoneButtons = new ToggleButton[milestoneTexts.Length]; for (int iMilestone = 0; iMilestone < milestoneTexts.Length; iMilestone++) { ToggleButton milestoneButton = new ToggleButton(); milestoneButton.Template = (ControlTemplate)FindResource("MilestoneControlTemplate"); milestoneButton.Margin = new Thickness(0.0, 0.0, 0.0, 0.0); uniformGrid.Children.Add(milestoneButton); bool ok = milestoneButton.ApplyTemplate(); Grid grid = (Grid)milestoneButton.Template.FindName("grid2", milestoneButton); //set milestone number TextBlock numberTextBlock = (TextBlock)grid.FindName("number"); numberTextBlock.Text = milestoneNumbers[iMilestone]; //set milestone description TextBlock descriptionTextBlock = (TextBlock)grid.FindName("description"); descriptionTextBlock.Text = (string)milestoneTexts[iMilestone]; milestoneButton.PreviewMouseDown += new MouseButtonEventHandler(milestoneButton_PreviewMouseDown); milestoneButtons[iMilestone] = milestoneButton; } }
public void InitBinding(int count) { double wid = grid_board.ActualHeight / count; for (int i = 0; i < count; i++) { for (int j = 0; j < count; j++) { //动态绑定 Binding binding = new Binding(); binding.Source = ActionCells.cells[i][j]; binding.Path = new PropertyPath("LiveNow"); binding.Mode = BindingMode.TwoWay; ToggleButton btn = new ToggleButton(); btn.Style = this.FindResource("GreenToggleButton") as Style; btn.ApplyTemplate(); btn.Height = wid; btn.Width = wid; btn.Tag = i.ToString() + "_" + j.ToString(); btn.SetBinding(ToggleButton.IsCheckedProperty, binding); grid_board.Children.Add(btn); Grid.SetColumn(btn, j); Grid.SetRow(btn, i); } } }