PasswordBox 控件样式设置提示

Ee341382.0b2c798e-86c6-4ea2-a8a6-5cf1f12be1e2(ZH-CN,Expression.30).png

PasswordBox 控件表示一个可获得用户输入同时屏蔽所键入字符的对象。

如同所有控件一样,可以对 PasswordBox 控件进行修改,以便获得与其默认外观完全不同的外观。默认情况下,PasswordBox 控件类似于下图:

Ee341382.4e1556e5-03f0-4881-8283-8281cb11c978(ZH-CN,Expression.30).png

重要的 PasswordBox 控件属性

PasswordBox 控件是文本控件。如果希望呈现其中包含字符的 PasswordBox 控件,您可以在“属性”面板中的“公共属性”下修改“Password”属性。“Password”属性将容纳用户键入的文本。

您可以通过更改“PasswordChar”属性,从而更改当用户在 PasswordBox 控件中输入文本时显示的屏蔽字符,当您在“属性”面板的“文本”类别的底部单击“显示高级属性”Ee341382.de239c9d-42ce-4f5e-83b9-5f9924c0431f(ZH-CN,Expression.30).png 时,将会出现该属性。

可通过下列方法设置这些属性:

  • 设置对象的属性   在美工板上绘制 PasswordBox 对象之后,您可以直接设置该对象的属性。如果希望若干 PasswordBox 对象使用相同的值,请在样式中设置这些属性。

  • 在样式中设置属性   如果在 PasswordBox 对象的样式 Ee341382.94fa7fc4-4f3e-4e84-9ba1-287f1b894371(ZH-CN,Expression.30).png 中设置这些属性,则使用该样式的任何 PasswordBox 对象都将使用这些值。您可以为特定对象覆盖这些值。

    有关详细信息,请参阅创建样式

若要指定用户将密码输入 PasswordBox 控件时所发生的操作,请将“PasswordChanged”事件挂钩到事件处理程序。

有关详细信息,请参阅编写将对事件做出响应的代码

PasswordBox 模板的部件

PasswordBox 控件只使用一个模板来定义其外观,即,“PasswordBox 模板”。在应用了该模板的 PasswordBox 对象的外观和行为中,该模板的单一部件发挥着重要作用。

模板中也可以有用于修饰 PasswordBox 控件外观的其他对象,但下表中列出的部件与该控件的行为密切相关。

若要查看模板的部件,请在修改模板的同时打开“部件”面板。在“对象和时间线”面板中,在“部件”面板中作为部件的对象旁边将出现一个 Ee341382.6cf58c39-edba-4a0e-acbc-1da272f9a387(ZH-CN,Expression.30).png 图标。

Ee341382.5b6101ee-86c4-48c6-a025-664d28142285(ZH-CN,Expression.30).png

部件名称

对象类型

描述

ContentElement

FrameworkElement

用于在用户键入密码时显示屏蔽字符的对象。

此部件是必需的。

PasswordBox 模板中的其他对象用于更改 PasswordBox 控件在各种不同状态下的外观。

PasswordBox 控件的状态

默认情况下,PasswordBox 控件所处的状态可以为“CommonStates”状态组中的以下四种状态之一,在修改 PasswordBox 模板时,您可以在“状态”面板中查看这些状态:

状态名称

描述

Normal

PasswordBox 控件没有交互时的外观。

MouseOver

用户将指针移到 PasswordBox 控件上时该控件的外观。

Pressed

当用户单击控件,或者在控件具有焦点并且用户按 Enter 或空格键时 PasswordBox 控件的外观。

Disabled

当“IsEnabled”属性设置为“False”时 PasswordBox 控件的外观。

PasswordBox 控件所处的状态可以为“FocusStates”状态组中的以下两种状态之一:

状态名称

描述

Unfocused

PasswordBox 控件没有键盘焦点时的外观。

Focused

PasswordBox 控件具有键盘焦点时的外观。例如,用户可能会按 Tab 键来循环选择应用程序中的各个对象,直至键盘焦点位于 PasswordBox 控件上为止。

PasswordBox 控件所处的状态可以为“ValidationStates”状态组中的以下三种状态之一:

状态名称

描述

Valid

控件有效时 PasswordBox 控件的外观。

InvalidUnfocused

控件无效并且没有键盘焦点时 PasswordBox 控件的外观。

InvalidFocused

控件无效但有键盘焦点时 PasswordBox 控件的外观。

Ee341382.alert_tip(ZH-CN,Expression.30).gif提示:

状态组包含属于同一逻辑类别并且无法同时显示的可视状态。例如,“CommonStates”组包含的状态和用户与输入设备(例如鼠标)的交互相关。一次只能显示状态组中的一种状态,但一个组中的状态可与另一个状态组中的状态同时显示。

当您选择状态时,状态记录功能将启用,并且将为该状态记录您进行的任何更改。若要禁用状态记录功能,请单击记录按钮 Ee341382.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(ZH-CN,Expression.30).png,或者在“状态”面板中选择“Base”。若要在两个独立状态处于活动状态时修改控件的外观,您可以固定一个状态组中状态的预览,同时修改另一个状态组中的状态。

将对象转换为 PasswordBox 控件

若要修改 PasswordBox 控件的模板,请执行下列操作之一:

  • 在美工板上绘制“PasswordBox”Ee341382.343296b4-5c7d-4145-84cc-91b08ba67a1b(ZH-CN,Expression.30).png,然后创建默认模板的副本。

    有关详细信息,请参阅创建或修改模板

  • 通过绘制对象或导入作品来设计 PasswordBox 控件的外观,然后使用“构成控件”命令。

如果使用“构成控件”命令,请按以下步骤进行操作,以确保创建 PasswordBox 控件模板需要的所有对象:

  1. 将对象组合到版式面板中,选择该版式面板,然后在“工具”菜单上,单击“构成控件”。

  2. 在出现的对话框中,选择“PasswordBox”,为模板命名,然后选择模板的存储位置。

    有关位置的信息,请参阅创建资源

  3. 单击“确定”之后,Microsoft Expression Blend 将进入模板编辑模式,并显示组成 PasswordBox 控件的对象。

  4. 如果模板包括您希望在其中显示文本的对象(例如 TextBlock 对象),请右键单击该对象,指向“构成 PasswordBox 的部件”,然后单击“ContentElement”。如果没有该对象,请在“部件”面板中双击“ContentElement”部件,以便在模板中创建 Grid 对象来充当“ContentElement”部件。在“属性”面板的“布局”类别中修改属性,以便将新的 Grid 对象显示在所需的位置。

  5. 可以在模板编辑模式下继续修改模板。例如,添加或修改对象,或者在“状态”面板中选择一种状态以修改该状态下模板的外观。

  6. 考虑将模板中对象的某些画笔属性绑定到将最终使用模板的 PasswordBox 对象的以下属性:

    • Background

    • BorderBrush

    • Foreground

    • BorderThickness

    有关详细信息,请参阅在模板中使用对象属性

  7. 若要退出模板编辑模式,请在美工板顶部的痕迹导航栏中单击“[PasswordBox]”,或者在“对象和时间线”面板中单击“范围上移”Ee341382.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(ZH-CN,Expression.30).png

有关向其他 PasswordBox 对象应用新的 PasswordBox 模板的信息,请参阅应用或删除资源

引用

您可以在 MSDN 上的 Silverlight Control Gallery(Silverlight 控件库)中找到有关 Microsoft Silverlight PasswordBox 控件的属性和事件的详细信息。

另请参见

概念

常用 Silverlight 控件的样式提示

设置支持模板的控件的样式

绘制文本