相关疑难解决方法(0)

C#如何从PasswordBox获取文本值?

我有一个PasswordBox.如何从PasswordBox输入完成后获取输入值?

c# wpf-controls passwordbox

59
推荐指数
2
解决办法
7万
查看次数

带有MVVM的PasswordBox

嗨人stackoverflow.我正在使用MVVM,我让ViewModel使用Property Password调用UserViewModel.在View中有一个控件PasswordBox.

<PasswordBox x:Name="txtPassword" Password="{Binding Password}" />
Run Code Online (Sandbox Code Playgroud)

但是这个xaml不起作用.你怎么做绑定?请帮忙!!

wpf mvvm passwordbox

19
推荐指数
3
解决办法
2万
查看次数

PasswordBox和MVVM

我们有以下场景:

  1. 用户可以放置密码的MVVM用户界面(实际上是a PasswordBox)
  2. 应该做一些工作的服务器
  3. 服务器连接到某些需要验证的数据库

我已经在MVVM中的PasswordBox上阅读了这个问题

但是如何做却没有答案!只是"永远不会那样".

传递密码的正确方法是什么?如何解决安全问题?

有没有适当的方式BindingPasswordBox和密码不得保存在某个地方,好不好.

那么,MVVM做这些事情的方式是什么?

即使模式被破坏,有没有一种很好的方法来实现这样的事情?

想到Func<string>要检索它,但没有绑定这会弄得一团糟......

更新 相同用于从(希望加密的)密码存储区初始化PasswordBox.这不是打破MVVM模式吗?用户不希望每次启动应用程序时输入密码,或者想要使用我相信的数据库.

c# security wpf mvvm passwordbox

18
推荐指数
2
解决办法
2万
查看次数

绑定PasswordBox密码是个坏主意吗?

我已经读过,出于安全原因, WPF PasswordBox中的密码没有用于绑定密码的依赖项属性.尽管如此,无论如何都有办法绑定它.

MVVM模式的用户需要这种数据绑定; viewmodel无法在不破坏模式的情况下直接触摸PasswordBox.在MVVM设置中使用PasswordBoxes的一种方法是将整个PasswordBox控件传递给ViewModel,但这无论如何都会破坏模式.绑定密码可能是使用MVVM处理密码的最简洁方法.

有一个反对绑定密码论据,因为这会将明文密码保存在未加密的内存中,直到它被垃圾收集.然而,我看到它的方式是,从您访问该Password属性的那一刻起,密码就会存储在未加密的内存中.这个观点(或类似的)似乎在这个问题中被借调.当然,它会在更短的时间内在没有绑定的情况下存在(不是登录形式有长期存在的倾向),但风险仍然存在.

鉴于这些论点,绑定密码真的是一个坏主意吗?为什么?

c# security data-binding wpf mvvm

11
推荐指数
1
解决办法
2404
查看次数

使用ValidationRule类进行WPF验证

我正在尝试使用"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)

wpf xaml

7
推荐指数
1
解决办法
8036
查看次数

WPF CommandParameter绑定到PasswordBox.Password

我有一个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.我错过了什么?

wpf binding

6
推荐指数
1
解决办法
6808
查看次数

在密码箱的某些事件上显示密码字符

我正在开发一个Windows Phone应用程序.我要求用户登录.

在登录页面上,用户必须输入密码.

现在我想要的是,我给用户一个复选框,选中后应该显示密码的字符.

我没有在密码框上看到任何显示密码字符的属性.

请建议一些方法来做到这一点.

c# passwords user-interface xaml windows-phone-7

5
推荐指数
1
解决办法
1万
查看次数

没有 setter 的属性上的数据绑定

如何将数据绑定到只有 getter 而没有 setter 的属性以从 wpf 中的视图模型访问它?我正在使用PasswordBox并希望将其SecureString属性绑定到 ViewModel 属性。我怎样才能做到这一点?

c# data-binding wpf mvvm

5
推荐指数
1
解决办法
7413
查看次数

绑定WPF密码框

我想在 XAML 代码中绑定一个密码框。现在我发现\xc2\xb4t 不可能绑定它,因为你没有\xc2\xb4t 任何依赖属性。

\n\n

就我而言,我的应用程序不需要任何安全性。我只是不想\xc2\xb4t 想要向用户显示明文。还有其他选项可以实现带有文本框等的密码框吗?

\n

c# wpf xaml passwordbox

5
推荐指数
1
解决办法
2万
查看次数

如果用户在 WPF 中键入任何内容,请检查密码框

我正在使用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)

c# passwords wpf mvvm passwordbox

3
推荐指数
1
解决办法
1万
查看次数