【问题标题】:How to use PasswordBox as TextBox? [closed]如何将密码框用作文本框? [关闭]
【发布时间】:2012-09-20 17:44:19
【问题描述】:

我有一个PasswordBox,我需要将此控件甚至用作TextBox。 我需要显示普通文本而不是典型的黑点

有没有属性可以做到这一点? 谢谢。

【问题讨论】:

  • 那为什么不使用普通的TextBox..?
  • @DJKRAZE 因为我需要一个 PasswordBox
  • 还有... 为什么需要 PasswordBox?
  • 这可能是我在 SO 上读过的最有趣的 cmets 交流。请不要删除这个问题,mods。
  • 准确说明您打算如何使用此密码框/文本框。描述用法。从黑点到文本再返回会发生什么?

标签: c# .net wpf textbox passwordbox


【解决方案1】:

这是你的答案:

  1. 使用文本框
  2. 当你想要文本被屏蔽时设置TextBox.UseSystemPasswordChar = true;
  3. 当你想看文本时设置TextBox.UseSystemPasswordChar = false;
  4. 利润

例子:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    if (checkBox1.Checked == true)
    {
        TextBox.UseSystemPasswordChar = true;
    }
    else 
    {
        TextBox.UseSystemPasswordChar = false;
    }
}

黑点当你想要它们时,单词当你不需要时。您可以使用您想要的任何触发器/逻辑来打开和关闭,但这样您只使用一个控件并获得您指定所需的所有功能。

【讨论】:

  • +1 比我的解决方案干净得多。干杯。
  • 我没有意识到在所有这些列表中获利之前缺少的步骤是:当您想查看文本集 TextBox.UseSystemPasswordChar = false; ....我现在有钱了!
  • 但这仅适用于 winforms,用户要求 wpf。
  • WPF 文本框上不存在此属性。
【解决方案2】:

您最好的解决方案是有一个密码框,下方有一个复选框,上面写着“显示字符”,然后在密码框上创建一个触发器,在其上覆盖一个文本框,以便输入和检索适当的文本。

【讨论】:

  • 这可能是 OP 要求的,+1。我以前见过它,虽然不是使用 WPF 工具包。
  • @jrg 您必须创建一个设置器,该设置器在触发复选框时有一个触发器,并以某种方式向 TextBox 添加一个键,允许您从中检索文本而不是 PasswordBox当 PasswordBox 为空时,反之亦然。
  • 是的,完全正确。别再欺负他了。
【解决方案3】:

叠加一个TextBox 和一个PasswordBox,一次只保留一个Visible。当您想切换时,将活动的值复制到另一个,并切换它们的可见性。很简单。

【讨论】:

    【解决方案4】:

    我认为每个人都同意这个非常基本的解决方案:如果您想显示用户正在输入的内容,请使用 TextBox

    【讨论】:

    • 如果你不想在特定时刻使用什么?
    • 基本事实是我不明白你为什么需要PasswordBox 来显示输入。那正是TextBox。如果您需要在两种模式之间切换,您仍然可以将可见的 PasswordBox 放在不可见的 TextBox 上,将它们绑定到相同的属性,然后使用它们的 VisibilityPasswordBox 旨在隐藏您正在输入的内容,我认为您不应该使用它来显示我们输入的内容
    • 我同意。当然,OP现在已经得到了这个。然而,想要这个是有原因的。没有人知道总是隐藏密码输入有点愚蠢吗?夜深了,没有人陪你,你一直在搞砸密码,因为你累了看不到你在输入什么。为什么不在那里有一个切换到可见密码的复选框,这样你就可以看到你在输入什么。总是强迫它是疯狂的。
    猜你喜欢
    • 2013-06-03
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多