在 WPF 中,为什么 PasswordBox 和 TextBox 是不同的控件?

in WPF why the PasswordBox and TextBox are different controls?

我们已经在 WinForm 中将 属性 设置为 TextBox,这很容易将文本样式更改为密码。我认为这是一个非常好的解决方案,因为 TextBoxPasswordBox 中的所有方式都是相同的(有时,我们可以为这两种控件设置一种样式)

我的问题是:为什么现在 xaml 中的 TextBoxPasswordBox 不同?该 WinForm 处理密码的解决方案的技术限制是什么?

Since the password box contains a sensible password it does not allow cut, copy, undo and redo commands.

Source

如果没有设计团队的人来肯定地告诉我们,我怀疑让这个功能具有单独的控件是实现这一目标的最佳方式。

此外,PasswordBox 是 sealed,这意味着您无法从中派生出自己的自定义控件来规避这些限制。

MSDN page

因此,最终将它们作为单独控件的原因是为了安全,这样用户的密码就不会被拦截。