我有一个PasswordBox.如何从PasswordBox输入完成后获取输入值?
嗨人stackoverflow.我正在使用MVVM,我让ViewModel使用Property Password调用UserViewModel.在View中有一个控件PasswordBox.
<PasswordBox x:Name="txtPassword" Password="{Binding Password}" />
Run Code Online (Sandbox Code Playgroud)
但是这个xaml不起作用.你怎么做绑定?请帮忙!!
我们有以下场景:
PasswordBox)我已经在MVVM中的PasswordBox上阅读了这个问题
但是如何做却没有答案!只是"永远不会那样".
传递密码的正确方法是什么?如何解决安全问题?
有没有适当的方式Binding向PasswordBox和密码不得保存在某个地方,好不好.
那么,MVVM做这些事情的方式是什么?
即使模式被破坏,有没有一种很好的方法来实现这样的事情?
想到Func<string>要检索它,但没有绑定这会弄得一团糟......
更新 相同用于从(希望加密的)密码存储区初始化PasswordBox.这不是打破MVVM模式吗?用户不希望每次启动应用程序时输入密码,或者想要使用我相信的数据库.
我已经读过,出于安全原因, WPF PasswordBox中的密码没有用于绑定密码的依赖项属性.尽管如此,无论如何都有办法绑定它.
MVVM模式的用户需要这种数据绑定; viewmodel无法在不破坏模式的情况下直接触摸PasswordBox.在MVVM设置中使用PasswordBoxes的一种方法是将整个PasswordBox控件传递给ViewModel,但这无论如何都会破坏模式.绑定密码可能是使用MVVM处理密码的最简洁方法.
有一个反对绑定密码的论据,因为这会将明文密码保存在未加密的内存中,直到它被垃圾收集.然而,我看到它的方式是,从您访问该Password属性的那一刻起,密码就会存储在未加密的内存中.这个观点(或类似的)似乎在这个问题中被借调.当然,它会在更短的时间内在没有绑定的情况下存在(不是登录形式有长期存在的倾向),但风险仍然存在.
鉴于这些论点,绑定密码真的是一个坏主意吗?为什么?
我正在尝试使用"ValidationRule"类为必填字段的文本添加验证.我有类的以下实现
using System.Windows.Controls;
using System.Globalization;
public class RequiredField : ValidationRule
{
private String _errorMessage = String.Empty;
public string ErrorMessage
{
get { return _errorMessage; }
set { _errorMessage = value; }
}
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
var str = value as string;
if (String.IsNullOrEmpty(str))
{
return new ValidationResult(true, this.ErrorMessage);
}
return new ValidationResult(true, null);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的XAML中,我有以下实现:
<TextBox Grid.Row="1" Grid.Column="3" Name="txtUserName" Height="23" VerticalAlignment="Top" Width="70" Grid.ColumnSpan="2" HorizontalAlignment="Left" MaxLength="50">
<TextBox.Text>
<Binding Path="Username" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validators:RequiredField ErrorMessage="username is required." …Run Code Online (Sandbox Code Playgroud) 我有一个MVVM运行树视图.在顶层是包含凭据的Account对象.我有一个PasswordBox,可用于更改帐户密码,后面有一个Save按钮.代码如下,是帐户级别模板的一部分:
PasswordBox Width="100" x:Name="pbPassword"/>
Button x:Name="btnSave" Command="{Binding ClickCommand}" CommandParameter="{Binding ElementName=pbPassword, Path=Password}" Height="20" Width="50">Save
PasswordBox Width="100" x:Name="pbPassword"/>
Button x:Name="btnSave" Command="{Binding ClickCommand}" CommandParameter="{Binding ElementName=pbPassword, Path=Password}" Height="20" Width="50">Save
PasswordBox Width="100" x:Name="pbPassword"/>
Button x:Name="btnSave" Command="{Binding ClickCommand}" CommandParameter="{Binding ElementName=pbPassword, Path=Password}" Height="20" Width="50">Save
我在PasswordBox中添加了一些内容,然后单击"保存".触发ClickCommand,但参数始终为string.Empty.我错过了什么?
我正在开发一个Windows Phone应用程序.我要求用户登录.
在登录页面上,用户必须输入密码.
现在我想要的是,我给用户一个复选框,选中后应该显示密码的字符.
我没有在密码框上看到任何显示密码字符的属性.
请建议一些方法来做到这一点.
如何将数据绑定到只有 getter 而没有 setter 的属性以从 wpf 中的视图模型访问它?我正在使用PasswordBox并希望将其SecureString属性绑定到 ViewModel 属性。我怎样才能做到这一点?
我想在 XAML 代码中绑定一个密码框。现在我发现\xc2\xb4t 不可能绑定它,因为你没有\xc2\xb4t 任何依赖属性。
\n\n就我而言,我的应用程序不需要任何安全性。我只是不想\xc2\xb4t 想要向用户显示明文。还有其他选项可以实现带有文本框等的密码框吗?
\n我正在使用PasswordBox,我想检测用户何时输入任何内容,如果是,我需要将按钮状态更改为启用。如何检查用户是否在 中输入了任何内容PasswordBox?
它的行为有所不同,TextBox因为您无法将其绑定到文本,并且当用户键入任何内容时会引发一些事件。任何想法?
我尝试使用下面的代码,但出现错误:
<PasswordBox>
<i:Interaction.Triggers>
<EventTrigger EventName="KeyDown">
<si:InvokeDataCommand Command="{Binding MyCommand}" />
</EventTrigger>
</i:Interaction.Triggers>
</PasswordBox>
Run Code Online (Sandbox Code Playgroud) wpf ×8
c# ×7
mvvm ×5
passwordbox ×5
xaml ×3
data-binding ×2
passwords ×2
security ×2
binding ×1
wpf-controls ×1