tft每日頭條

 > 生活

 > wpf自定義控件textbox

wpf自定義控件textbox

生活 更新时间:2024-07-24 21:09:38

摘要

WPF提供了三個用于輸入文本的控件:TextBox、RichTextBox和PasswordBox。PasswordBox控件直接繼承自Control類。TextBox和RichTextBox控件間接繼承自TextBoxBase類。

wpf自定義控件textbox(WPF-11.文本控件)1

這個地方與Winform區别比較大。

正文

文字輸入框(TextBox)

由于 TextBox 和 RichTextBox 都是以 TextBoxBase 為基類,所以這些屬性對兩種文本輸入控件都有效。

屬性

描述

AcceptsReturn

是否支持輸入 Enter 鍵換行

AcceptsTab

是否支持插入tab控制符

AutoWordSelection

是否支持自動選擇整個詞

CanRedo

是否支持重做前一個動作

CanUndo

是否支持撤銷前一個動作

ExtentHeight

獲取可見的内容區域的垂直大小

ExtentWidth

獲取可見的内容區域的水平大小

HorizontalOffset

獲取或設置水平滾動條位置

HorizontalScrollBarVisibility

是否顯示水平滾動條

VerticalOffset

獲取或設置垂直滾動條的位置

VerticalScrollBarVisibility

是否顯示垂直滾動條

IsReadOnly

是否隻讀

IsUndoEnabled

是否支持恢複操作

UndoLimit

獲取或設置可以恢複的動作次數

SpellCheck

設置SpellCheck.IsEnabled屬性,可自動檢查輸入框中單詞是否拼寫錯誤

ViewportWidth

設置視窗的寬度

ViewportHeight

設置視窗的高度

文字輸入框

文字輸入框,該控件可用于顯示或編輯無格式文本。

文字輸入框是一個非常常用的控件,它是由多個控件組成的,其中含有Border、ScrollViewer、Grid、Rectangle、TextView、ScrollBar等一些控件。

屬性

描述

MinLines

獲取或設置最小可見行數

MaxLines

獲取或設置最大可見行數

Text

獲取或設置文本框的文本内容

CharacterCasing

枚舉類,獲取或設置輸入字符的大小寫

TextAlignment

枚舉類,獲取或設置文本框的内容的水平對齊方式

SelectionLength

獲取或設置當前所選内容的字符數

LineCount

獲取文本框中的總行數

SelectedText

獲取或設置文本框中當前選擇的内容

TextWrapping

枚舉類,獲取或設置文本的換行方式

MaxLength

獲取或設置文本框中輸入的最大字符數

密碼輸入框(PasswordBox)

密碼輸入框,用于輸入和處理密碼的控件。

屬性

描述

MaxLength

獲取或設置密碼的最大長度

PasswordChar

獲取或設置密碼的掩碼字符

Password

獲取或設置當前保留的密碼

wpf自定義控件textbox(WPF-11.文本控件)2

<StackPanel Margin="10"> <TextBlock Text="用戶名"></TextBlock> <TextBox></TextBox> <Separator Margin="0,15" Background="#dddddd"></Separator> <TextBlock Text="密碼"></TextBlock> <PasswordBox Name="txtPassword" MaxLength="20" PasswordChar="*" PasswordChanged="txtPassword_PasswordChanged"></PasswordBox> <TextBlock Name="lblInfo" Foreground="Red"></TextBlock> <StackPanel Orientation="Horizontal"> <Button Name="btnSubmit" Content="提交"></Button> </StackPanel> </StackPanel>

private void txtPassword_PasswordChanged(object sender, RoutedEventArgs e) { this.lblInfo.Text = "正在輸入密碼信息..."; }

wpf自定義控件textbox(WPF-11.文本控件)3

<StackPanel Margin="10"> <TextBox MinLines="1" MaxLines="5" MaxLength="100" AcceptsTab="True" AcceptsReturn="True" TextWrapping="Wrap" TextAlignment="Center" CharacterCasing="Upper"/> </StackPanel>

wpf自定義控件textbox(WPF-11.文本控件)4

<Grid> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <TextBox Grid.Row="0" SpellCheck.IsEnabled="True" MaxLength="500" TextWrapping="Wrap" AcceptsReturn="True" Name="txt1" VerticalScrollBarVisibility="Auto" SelectionChanged="txt1_SelectionChanged"></TextBox> <StackPanel Grid.Row="1"> <Button Content="Show Select Text" Name="btnSelectText" Click="btnSelectText_Click"></Button> <TextBlock Foreground="Red">您選中了:</TextBlock> <TextBlock x:Name="tb1" TextWrapping="Wrap"></TextBlock> </StackPanel> </Grid>

private void btnSelectText_Click(object sender, RoutedEventArgs e) { MessageBox.Show(txt1.SelectedText); } private void txt1_SelectionChanged(object sender, RoutedEventArgs e) { tb1.Text = txt1.SelectionStart.ToString() "_" txt1.SelectedText "_" txt1.SelectionLength; }

wpf自定義控件textbox(WPF-11.文本控件)5

<StackPanel Margin="10"> <RichTextBox> <FlowDocument> <Paragraph> <TextBox Text="測試一下看看"></TextBox> <LineBreak></LineBreak> 北京時間5月14日,密爾沃基雄鹿隊與波士頓凱爾特人隊迎來了東決第6戰的比賽。本場比賽,超級巨星字母哥30投14中,罰球15中14,狂砍44分20籃闆。 字母哥也成為了2001年至今首位在季後賽砍下40 20的球星,比肩奧尼爾。可惜的是,雄鹿最終以95-108不敵對手,系列賽進入搶七。 <Image Source="/user.png" Height="176" Width="136"></Image> </Paragraph> </FlowDocument> </RichTextBox> </StackPanel>

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved