public void PasswordEditor_Should_CreateElement_When_ResolveEditor() { void set(string v) { }; string get() => string.Empty; var element = new PasswordEditor(get, set).CreateElement(); Assert.IsNotNull(element); Assert.IsInstanceOfType(element, typeof(PasswordBox)); }
public void PasswordEditor_Should_UpdatePassword_When_LostFocus() { var pws = "pws1"; string get() => pws; void set(string value) => pws = value; var passwordBox = new PasswordEditor(get, set).CreateElement() as PasswordBox; passwordBox.Password = "******"; passwordBox.RaiseEvent(new RoutedEventArgs(UIElement.LostFocusEvent, passwordBox)); Assert.AreEqual(passwordBox.Password, pws); }
public static bool ChangePassword(ref string password, int startY = 0) { var passEditor = new PasswordEditor(password); ClassEditor <PasswordEditor> editor = new ClassEditor <PasswordEditor>( passEditor, startY ); bool changed = editor.Edit(); editor.Clear(); if (changed) { password = passEditor.Password; return(true); } return(false); }
public PasswordChangeModel() { PasswordEditor = new PasswordEditor(); }
protected virtual EditorItem GetEditorItem(CustomDataType type, string custom, PropertyInfo property) { RequiredAttribute required = property.GetCustomAttributes(typeof(RequiredAttribute), true).FirstOrDefault() as RequiredAttribute; EditorItem item; switch (type) { case CustomDataType.Boolean: item = new BoolEditor(Frame); break; case CustomDataType.Currency: item = new CurrencyEditor(Frame); break; case CustomDataType.Date: item = new DateEditor(Frame); break; case CustomDataType.DateTime: item = new DateTimeEditor(Frame); break; case CustomDataType.Default: item = new DefaultEditor(Frame); if (required != null) { ((DefaultEditor)item).IsAllowdEmpty = required.AllowEmptyStrings; } break; case CustomDataType.EmailAddress: item = new EmailAddressEditor(Frame); break; case CustomDataType.Html: item = new HtmlEditor(Frame); break; case CustomDataType.ImageUrl: item = new ImageUrlEditor(Frame); break; case CustomDataType.Image: item = new ImageEditor(Frame); break; case CustomDataType.Integer: item = new IntegerEditor(Frame); break; case CustomDataType.MultilineText: item = new MultilineTextEditor(Frame); if (required != null) { ((MultilineTextEditor)item).IsAllowdEmpty = required.AllowEmptyStrings; } break; case CustomDataType.Number: item = new NumberEditor(Frame); break; case CustomDataType.Password: item = new PasswordEditor(Frame); break; case CustomDataType.PhoneNumber: item = new PhoneNumberEditor(Frame); break; case CustomDataType.Sex: item = new SexEditor(Frame); break; case CustomDataType.Text: item = new DefaultEditor(Frame); break; case CustomDataType.Time: item = new TimeEditor(Frame); break; case CustomDataType.Url: item = new UrlEditor(Frame); break; default: switch (custom) { case "Enum": item = GetEnumEditorItem(property.PropertyType); break; case "Entity": item = new EntityEditor(Frame, property.PropertyType); break; case "Collection": item = new CollectionEditor(Frame, property.PropertyType.GetGenericArguments()[0]); break; default: throw new NotSupportedException("不支持自定义类型编辑器。"); } break; } if (required != null) { item.IsRequired = true; } return(item); }
public PasswordResetFinalStepModel() { PasswordEditor = new PasswordEditor(); }