共用方式為


TextBox 控制項樣式提示

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

TextBox 控制項可用於取得使用者的輸入或顯示文字。它通常用於可編輯的文字,但是也可設為唯讀。TextBox 物件可顯示多行,並依控制項大小將文字換行。

如同所有控制項一樣,TextBox 控制項可修改為與其預設外觀非常不同。TextBox 控制項的預設外觀如下:

Ee371168.f77261da-feb5-4693-b764-582a9cc93c12(ZH-TW,Expression.30).png

相關的 TextBox 控制項屬性

TextBox 控制項是一個文字控制項,因此您可以設定 [屬性] 面板之 [一般屬性] 下的 [Text] 屬性,以便在 TextBox 控制項中顯示文字。

您可以選取 [IsReadOnly] 屬性,使 TextBox 控制項成為唯讀。

您可以選取 [AcceptsReturn] 屬性,讓使用者將新行字元加入至其輸入的文字。若採取此作法,您可能也會想要設定 [HorizontalScrollBarVisibility] 和 [VerticalScrollBarVisibility] 屬性,以啟用捲軸。

若要指定字型大小、字型等等,請設定 [屬性] 面板中 [文字] 底下的屬性。您甚至可以將自訂字型新增至專案,並內嵌這些字型以用於文字控制項中。

如需詳細資訊,請參閱繪製文字

您可以用下列方式設定這些屬性:

  • 設定物件的屬性   在畫板上繪製 TextBox 物件後,可以直接設定物件的屬性。如果希望數個 TextBox 物件使用相同的值,可在樣式中設定這些屬性。

  • 在樣式中設定屬性   如果您在 TextBox 物件的樣式 Ee371168.94fa7fc4-4f3e-4e84-9ba1-287f1b894371(ZH-TW,Expression.30).png 中設定屬性,則任何使用該樣式的 TextBox 物件依預設都會使用這些值。您可以覆寫特定物件的值。

    如需詳細資訊,請參閱建立樣式

TextBox 範本的組件

TextBox 控制項使用一個範本來定義其外觀:TextBox 範本。這個範本的單一組件會影響套用範本之 TextBox 物件的外觀和行為。

範本中可以有其他用來裝飾 TextBox 控制項外觀的物件,但是下表列出的是在合約中與控制項行為繫結的組件。

若要檢視範本的組件,請在修改範本時開啟 [組件] 面板。在 [物件與時間軸] 面板中,如果有任何物件扮演的角色是 [組件] 面板中的組件,該物件旁會出現 Ee371168.6cf58c39-edba-4a0e-acbc-1da272f9a387(ZH-TW,Expression.30).png 圖示。

Ee371168.62c81ec5-2055-4556-a068-2dc300675ac9(ZH-TW,Expression.30).png

組件名稱

物件類型

描述

ContentElement

FrameworkElement

顯示文字的物件。

此組件為強制項目。

TextBox 範本中的其他物件是用來變更各種狀態下 TextBox 控制項的外觀。

TextBox 控制項的狀態

根據預設,TextBox 控制項可以處於 [CommonStates] 狀態群組中下列四種狀態的其中一種,您可以在修改 TextBox 範本時於 [狀態] 面板中檢視狀態:

狀態名稱

描述

Normal

TextBox 控制項沒有互動時的外觀。

MouseOver

使用者將指標移到 TextBox 控制項上方時,控制項所顯示的外觀。

Pressed

當使用者按一下 TextBox 控制項,或當該控制項具有焦點且使用者按下 ENTER 或空格鍵時,該控制項的外觀。

Disabled

當 IsEnabled 屬性設為 False 時,TextBox 控制項的外觀。

TextBox 控制項也可以處於 [FocusStates] 狀態群組的下列兩種狀態之一:

狀態名稱

描述

Unfocused

TextBox 控制項沒有鍵盤焦點時的外觀。

Focused

TextBox 控制項具有鍵盤焦點時的外觀。例如,使用者可能會按 TAB 鍵來循環顯示應用程式中的物件,直到鍵盤焦點停留在 TextBox 控制項為止。

TextBox 控制項可以處於 [ValidationStates] 狀態群組的下列三種狀態之一:

狀態名稱

描述

Valid

TextBox 控制項有效時的外觀。

InvalidUnfocused

TextBox 控制項無效且沒有鍵盤焦點時的外觀。

InvalidFocused

TextBox 控制項無效但具有鍵盤焦點時的外觀。

Ee371168.alert_tip(ZH-TW,Expression.30).gif秘訣:

狀態群組包含屬於相同邏輯類別且無法同時顯示的視覺狀態。例如,[CommonStates] 群組包含的狀態與使用者和輸入裝置 (例如滑鼠) 的互動有關。雖然控制項一次只能顯示同一狀態群組中的一種狀態,但卻可以同時顯示來自不同狀態群組的兩種狀態。

當您選取狀態時,狀態錄製功能便會開啟,以錄製您對該狀態所做的任何變更。若要關閉狀態錄製功能,請按一下錄製按鈕Ee371168.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(ZH-TW,Expression.30).png,或在 [狀態] 面板中選取 [基本]。若要修改控制項在兩種個別狀態同時作用時的外觀,您可以鎖定其中一個狀態群組之狀態的預覽,同時修改另一個狀態群組中的狀態。

將物件轉換成 TextBox 控制項

若要修改 TextBox 控制項的範本,請執行下列其中一項動作:

  • 在畫板上繪製 [TextBox] Ee371168.343296b4-5c7d-4145-84cc-91b08ba67a1b(ZH-TW,Expression.30).png,然後建立預設範本的複本。

    如需詳細資訊,請參閱建立或修改範本

  • 藉由繪製物件或匯入圖案來設計 TextBox 控制項的外觀,然後再使用 [變成控制項] 命令。

如果使用 [變成控制項] 命令,請依照下列步驟,確保您會建立 TextBox 範本需要的所有物件:

  1. 若要在 TextBox 控制項中顯示文字,請在組成 TextBox 控制項外觀的物件加入 [TextBlock] Ee371168.42165963-00f7-4a33-abcd-b0849edebada(ZH-TW,Expression.30).png

    當您將包含 TextBlock 物件的作品轉換成 TextBox 控制項的範本時,[變成控制項] 命令會執行下列動作:

    • 將代表 ContentElement 組件的 ScrollViewer 物件,放到範本中 TextBlock 控制項的位置。

    • 從 TextBlock 控制項將版面配置屬性複製到 ContentElement 物件。

    • 從 TextBlock 控制項將排版屬性複製到 TextBox 控制項的樣式 (樣式會圍繞範本)。

    • 從 TextBlock 控制項,將 [Text] 屬性複製到套用範本的 TextBox 物件。

    或者,可以在您將物件轉換成控制項範本後,將物件指派給 ContentElement 組件。如需詳細資訊,請參閱將範本組件指派給物件

  2. 將您的物件群組到版面配置面板中,選取版面配置面板,然後在 [工具] 功能表上按一下 [變成控制項]。

  3. 在顯示的對話方塊中選取 [TextBox],為範本命名,然後選取要儲存範本的位置。

  4. 在您按一下 [確定] 之後,Microsoft Expression Blend 便會進入範本編輯模式,並顯示組成 TextBox 控制項的物件。您可以在這個模式中繼續修改範本。例如,新增或修改物件,或是選取 [狀態] 面板中的狀態,以修改範本在該狀態時的外觀。

  5. 請考慮將範本中物件的部分筆刷屬性繫結到最終將使用該範本之 TextBox 物件的下列屬性:

    • Background

    • BorderBrush

    • Foreground

    • BorderThickness

    如需詳細資訊,請參閱完成範本的物件屬性

  6. 若要結束範本編輯模式,請按一下畫板頂端階層連結列中的 [TextBox],或按一下 [物件與時間軸] 面板中的 [將範圍傳回] Ee371168.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(ZH-TW,Expression.30).png

如需有關將新 TextBox 範本套用至其他 TextBox 物件的詳細資訊,請參閱套用或移除資源

參照

您可以在 MSDN 上的 Silverlight Control Gallery (Silverlight 控制項陳列庫) 找到有關 Microsoft Silverlight TextBox 控制項之屬性與事件的詳細資訊。

請參閱

概念

一般 Silverlight 控制項的樣式提示

設定支援範本之控制項的樣式

繪製文字