0

我正在尝试创建一个带有设置页面的 Windows 10 应用程序,该页面允许用户输入应用程序将用于连接到外部服务的凭据。我想将这些凭据存储在 PasswordVault 中。

我使用Template10 Template10 作为起点。我已将 TextBox 和 PasswordBox 添加到 Settings PivotItem。我已将 PasswordCredential 成员添加到 ISettingsService。而且,我在 SettingsService 类中添加了一个实现,用于从保管库中存储和检索 PasswordCredential 对象。

现在,我需要将 TextBox 和 PasswordBox 连接到 PasswordCredental 对象的 UserName 和 Password 属性。更新用户名/密码对时还需要执行一些逻辑。我是 XAML 的新手,我完全不知道如何让它工作。有什么建议么?

4

1 回答 1

1

这比你想象的要容易。假设这个模型:

public class UserCredentials : BindableBase
{
    string _userName = default(string);
    public string UserName { get { return _userName; } set { Set(ref _userName, value); } }

    string _password = default(string);
    public string Password { get { return _password; } set { Set(ref _password, value); } }
}

您可以在 XAML 中执行此操作:

<!-- login form -->
<StackPanel Grid.Row="1" Margin="20, 16" DataContext="{Binding ElementName=ThisPage}">
    <TextBox Header="Username" Text="{Binding UserCredentials.UserName, Mode=TwoWay}" />
    <TextBox Header="Password" Text="{Binding UserCredentials.Password, Mode=TwoWay}" />
    <Button Click="LoginClicked" Margin="0,12,0,0" HorizontalAlignment="Right">Login</Button>
</StackPanel>

说得通?为了提供帮助,我将它添加到模板 10 的 GitHub 存储库中的示例项目中,如果你想看到它工作。

祝你好运。

于 2016-01-31T22:14:10.927 回答