В моем приложении WPF есть два окна: окно входа в систему и окно параметров. Оба имеют одинаковую форму с полем имени пользователя и пароля, а также с некоторыми другими полями для ввода учетных данных. Мне нужен некоторый код, который знает, например, что будет txt_userName
TextBox
, и может делать что-то на этом основании. Я думал, что мог бы сделать какой-то IHaveCredentialsForm
интерфейс и иметь как LoginWindow
, так и OptionsWindow
, чтобы реализовать его, но когда я попытался, я получил "MyNamespace.LoginWindow" не реализует элемент интерфейса "MyNamespace.IHaveCredentialsForm.txt_userName «». Вот мой интерфейс до сих пор:
interface IHaveCredentialsForm
{
TextBox txt_userName { get; set; }
}
Я думал, что получил ошибку, потому что LoginWindow
- это класс partial
, который наследуется от Window
. Я определенно могу получить доступ к TextBox
, называемому txt_userName
, внутри методов LoginWindow
, хотя я не определил явно это свойство. Я полагаю, что он волшебным образом возник из-за наличия TextBox
с таким именем в LoginWindow.xaml.
Как я могу высушить это? У меня уже есть метод для работы со значениями string
для имени пользователя, пароля и т. Д., Но кажется избыточным иметь два разных класса, которые передают txt_userName.Text, pwb_password.Password, ...
- те же аргументы для того же метода.
Пока я могу это сделать, как я могу разделить часть XAML (формы учетных данных) между двумя разными окнами?