public void x_countdown_SelectionChanged(object sender, SelectionChangedEventArgs e) { int index = (DataContext as PasswordMaker).Data.Definition.NAllowedFailures; if (index <= 0) { x_hints_holder.Visibility = Visibility.Collapsed; } else { x_hints_holder.Visibility = Visibility.Visible; int oSize = x_hints.Children.Count; if (oSize > index) { // remove overflow textboxes int toChange = oSize - index; x_hints.Children.RemoveRange(index, toChange); PasswordData d = (DataContext as PasswordMaker).Data; d.Definition.Hints.RemoveRange(index, toChange); } else { int toChange = index - oSize; for (int i = 0; i < toChange; i++) { PasswordData d = (DataContext as PasswordMaker).Data; HintItem it = new HintItem(); d.Definition.Hints.Add(it); } } RefillHints(); } }
public void RefillHints() { x_hints.Children.Clear(); PasswordData d = (DataContext as PasswordMaker).Data; for (int i = 0; i < d.Definition.Hints.Count; i++) { TextBox b = new TextBox(); x_hints.Children.Add(b); HintItem it = d.Definition.Hints[i]; b.DataContext = it; b.SetBinding(TextBox.TextProperty, "Hint"); } }