PasswordBox 控制項樣式提示
PasswordBox 控制項代表可在遮蔽輸入字元的情況下取得使用者輸入資訊的物件。
PasswordBox 控制項和所有控制項一樣,可以修改成與預設外觀完全不同。PasswordBox 控制項的預設外觀如下:
相關的 PasswordBox 控制項屬性
PasswordBox 控制項是文字控制項。如果您想要在 PasswordBox 控制項的內部顯示字元,可以在 [屬性] 面板中設定 [一般屬性] 下的 [Password] 屬性。[Password] 屬性會保留使用者輸入的文字。
您可以藉由變更 [PasswordChar] 屬性 (在按一下 [屬性] 面板之 [文字] 類別底部的 [顯示進階屬性] 後即會出現),變更使用者在 PasswordBox 控制項內輸入文字時出現的遮罩字元。
您可以用下列方式設定這些屬性:
設定物件的屬性 在畫板上繪製 PasswordBox 物件後,您可以直接設定物件的屬性。如果您想讓幾個 PasswordBox 控制項使用相同的值,請在樣式中設定這些屬性。
在樣式中設定屬性 如果您在 PasswordBox 物件的樣式 中設定這些屬性,任何使用該樣式的 PasswordBox 物件都會使用這些值。您可以覆寫特定物件的值。
如需詳細資訊,請參閱建立樣式。
若要指定使用者在 PasswordBox 控制項輸入密碼後發生的事件,請將 [PasswordChanged] 事件連接至事件處理常式。
如需詳細資訊,請參閱撰寫回應事件的程式碼。
PasswordBox 範本的組件
PasswordBox 控制項使用一個範本來定義其外觀:PasswordBox 範本。這個範本的單一組件都會影響套用範本之 PasswordBox 物件的外觀和行為。
範本中可以有其他用來裝飾 PasswordBox 控制項外觀的物件,但是下表列出的是在合約中與控制項行為繫結的組件。
若要檢視範本的組件,請在修改範本時開啟 [組件] 面板。在 [物件與時間軸] 面板中,如果物件扮演的角色是 [組件] 面板中的組件,該物件旁會出現 圖示。
組件名稱 |
物件類型 |
描述 |
---|---|---|
ContentElement |
FrameworkElement |
此物件可在使用者輸入密碼時顯示遮罩字元。 此組件為強制組件。 |
PasswordBox 範本中的其他物件是用來變更 PasswordBox 控制項在不同狀態中的外觀。
PasswordBox 控制項的狀態
根據預設,PasswordBox 控制項可以處於 [CommonStates] 狀態群組中的下列四種狀態其中一種,您可以在修改 PasswordBox 範本時於 [狀態] 面板中檢視狀態:
狀態名稱 |
描述 |
---|---|
Normal |
PasswordBox 控制項沒有互動時的外觀。 |
MouseOver |
使用者將指標移到 ComboBox 控制項上方時,控制項所顯示的外觀。 |
Pressed |
當使用者按一下 PasswordBox 控制項,或當 PasswordBox 控制項具有焦點,且使用者按 ENTER 或空格鍵時,該控制項的外觀。 |
Disabled |
IsEnabled 屬性設為 False 時,PasswordBox 控制項的外觀。 |
PasswordBox 控制項可以處於 [FocusStates] 狀態群組的下列兩種狀態之一:
狀態名稱 |
描述 |
---|---|
Unfocused |
PasswordBox 控制項沒有鍵盤焦點時的外觀。 |
Focused |
PasswordBox 控制項具有鍵盤焦點時的外觀。例如,使用者可能會按 TAB 鍵來循環顯示應用程式中的物件,直到鍵盤焦點停留在 PasswordBox 控制項為止。 |
PasswordBox 控制項可以處於 [ValidationStates] 狀態群組的下列三種狀態之一:
狀態名稱 |
描述 |
---|---|
Valid |
PasswordBox 控制項有效時的外觀。 |
InvalidUnfocused |
PasswordBox 控制項無效且沒有鍵盤焦點時的外觀。 |
InvalidFocused |
PasswordBox 控制項無效但具有鍵盤焦點時的外觀。 |
秘訣: |
---|
狀態群組包含屬於相同邏輯類別但無法同時顯示的視覺狀態。例如,[CommonStates] 群組包含的狀態與使用者和輸入裝置 (例如滑鼠) 的互動有關。雖然控制項一次只能顯示同一狀態群組中的一種狀態,但卻可以同時顯示來自不同狀態群組的兩種狀態。 |
當您選取狀態時,狀態錄製功能便會開啟,以錄製您對該狀態所做的任何變更。若要關閉狀態錄製功能,請按一下錄製按鈕 ,或在 [狀態] 面板中選取 [基本]。若要修改控制項在兩種個別狀態同時作用時的外觀,您可以鎖定其中一個狀態群組之狀態的預覽,同時修改另一個狀態群組中的狀態。
將物件轉換成 PasswordBox 控制項
若要修改 PasswordBox 控制項的範本,請執行下列一項動作:
在畫板上繪製 [PasswordBox ] ,然後再建立預設範本的複本。
如需詳細資訊,請參閱建立或修改範本。
藉由繪製物件或匯入圖案來設計 PasswordBox 控制項的外觀,然後再使用 [變成控制項] 命令。
如果使用 [變成控制項] 命令,請依照下列步驟,確保您會建立 PasswordBox 範本需要的所有物件:
將物件群組為版面配置面板、選取版面配置面板,接著在 [工具] 功能表上按一下 [變成控制項]。
在出現的對話方塊中,選取 [PasswordBox]、為範本命名,然後選取範本的儲存位置。
如需有關位置的詳細資訊,請參閱建立資源。
在您按一下 [確定] 之後,Microsoft Expression Blend 便會進入範本編輯模式,並顯示組成 PasswordBox 控制項的物件。
如果範本中包含要用來顯示文字的物件 (例如 TextBlock 物件),請以滑鼠右鍵按一下該物件,指向 [變成 PasswordBox 的組件],然後再按一下 [ContentElement]。否則,請按兩下 [組件] 面板中的 [ContentElement] 組件,在範本中建立 Grid 物件,以當作 [ContentElement] 組件。請修改 [屬性] 面板之 [版面配置] 類別中的屬性,將新的 Grid 物件顯示在需要的位置。
您可以在範本編輯模式中繼續修改範本。例如,新增或修改物件,或是選取 [狀態] 面板中的狀態,以修改範本在該狀態時的外觀。
請考慮將範本中物件的部分筆刷屬性繫結到最終使用該範本之 PasswordBox 物件的下列屬性:
Background
BorderBrush
Foreground
BorderThickness
如需詳細資訊,請參閱完成範本的物件屬性。
若要結束範本編輯模式,請按一下畫板頂端階層連結列中的 [PasswordBox],或按一下 [物件與時間軸] 面板中的 [將範圍傳回] 。
如需將新 PasswordBox 範本套用至其他 PasswordBox 物件的詳細資訊,請參閱套用或移除資源。
參照
您可以在 MSDN 的 Silverlight Control Gallery (Silverlight 控制項陳列庫) 中找到有關 Microsoft Silverlight PasswordBox 控制項之屬性與事件的詳細資訊。