添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public ref class TextBox : System::Windows::Controls::Primitives::TextBoxBase, System::Windows::Markup::IAddChild
[System.Windows.Localizability(System.Windows.LocalizationCategory.Text)]
[System.Windows.Markup.ContentProperty("Text")]
public class TextBox : System.Windows.Controls.Primitives.TextBoxBase, System.Windows.Markup.IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Text)>]
[<System.Windows.Markup.ContentProperty("Text")>]
type TextBox = class
    inherit TextBoxBase
    interface IAddChild
Public Class TextBox
Inherits TextBoxBase
Implements IAddChild
TextBox

雖然此範例的 Extensible Application Markup Language (XAML) 版本可以使用 < TextBox.Text > 標籤來括住每個按鈕 TextBox 內容的文字,但並非必要,因為 TextBox 會將 ContentPropertyAttribute 屬性套用至 Text 屬性。

<TextBox Name="tbSettingText">  
  Initial text contents of the TextBox.  
</TextBox>  
tbSettingText.Text = "Initial text contents of the TextBox.";  
tbSettingText.Text = "Initial text contents of the TextBox."  
              TextBox控制項只能在其 Text 屬性中包含未格式化的文字。 下圖顯示 的 TextBox 範例。

TextBox 的範例

TextBox 是由數個封裝元件組成的複合控制項。 因此,某些事件不會反升至包含控制項,因為它們是由封裝的子項目處理。 因此,應用程式開發人員應該接聽前置詞 「Preview」) 表示的事件通道版本 (。

TextBox 僅支援未格式化的文字。 如需需要支援更豐富內容的應用程式,請參閱 RichTextBox 。 如需需要接受密碼或其他敏感性輸入的應用程式,請參閱 PasswordBox

水準和垂直對齊 中的 TextBox 文字是使用 HorizontalContentAlignmentVerticalContentAlignment 屬性來完成。 使用 TextBoxVerticalAlignment 屬性來 HorizontalAlignment 對齊頁面的版面配置內。

在 周圍 TextBox 隱藏框線的最佳方式是將 BorderThicknessTextBox 屬性設定為 0

TextBox 具有反升 MouseUpMouseDown 事件的內建處理。 因此,將不會呼叫接聽 MouseUp 或 來自 TextBoxMouseDown 自訂事件處理常式。 如果您需要回應這些事件,請改為接聽信道 PreviewMouseUpPreviewMouseDown 事件,或向引數註冊處理常式 HandledEventsToo , (後者選項只能透過程式碼) 使用。 除非您刻意停用 TextBox 這些事件的原生處理,否則請勿標記事件,並注意這對控制項的 UI 有顯著的影響。

預設不會顯示 TextBox 捲軸。 若要讓捲軸可見,請將 和 HorizontalScrollBarVisibility 屬性設定 VerticalScrollBarVisibilityVisibleAuto

通常 TextChanged 應該使用 事件來偵測每當 中的 TextBox 文字或 RichTextBox 變更,而不是 KeyDown 如您所預期般。 如需範例 ,請參閱如何:偵測 TextBox 中的文字何時變更

自訂 TextBox 控制項

若要將相同的屬性設定套用至多個 TextBox 控制項,請使用 Style 屬性。 您可以修改預設值 ControlTemplate ,讓控制項具有唯一的外觀。 如需建立 ControlTemplate 的詳細資訊,請參閱 建立 ControlTemplate 來自訂現有控制項的外觀。 若要查看 的特定 TextBox 元件和狀態,請參閱 TextBox 樣式和範本

此控制項的相依性屬性可能是由控制項的預設樣式所設定。 如果屬性是以預設樣式設定,當控制項出現在應用程式中時,屬性可能會從其預設值變更。 預設樣式取決於應用程式執行時所使用的桌面主題。

如果該屬性同時顯示於控制項的預設範本,並使用 TemplateBinding 來設定,則設定視覺效果屬性僅具效果作用。 您可以在通過建立 ControlTemplate 自訂現有控制項的外觀文章的變更控制項的視覺效果結構一節中找到視覺效果屬性清單。

加入所指定路由事件的路由事件處理常式,會將此處理常式加入目前項目的處理常式集合中。 將 handledEventsToo 指定為 true,為已標示為由事件路由上另一個項目處理的事件叫用提供的處理常式。

(繼承來源 UIElement)

放置子項目,並且判斷 UIElement 的大小。 父項目從 ArrangeCore(Rect) 實作 (或 WPF 架構層級對等項目) 中呼叫此方法,以形成遞迴配置更新。 這個方法會構成配置更新的第二個階段。

(繼承來源 UIElement)

強制轉型所指定相依性屬性的值。 完成方式是叫用存在於呼叫 DependencyObject 之相依性屬性的屬性中繼資料中所指定的任何 CoerceValueCallback 函式。

(繼承來源 DependencyObject)

更新 UIElementDesiredSize。 父項目從本身的 MeasureCore(Size) 實作中呼叫此方法,以形成遞迴配置更新。 呼叫此方法即構成配置更新的第一次傳遞 (「量值」傳遞)。

(繼承來源 UIElement)

FrameworkElement 的特定子類別中支援累加配置實作。 ParentLayoutInvalidated(UIElement) 會在子項目使得屬性失效時叫用,該屬性在中繼資料內已標記,會在配置期間影響父代的測量或排列傳遞。

(繼承來源 FrameworkElement)