WPF學習拾遺(二)TextBlock換行

2021-09-08 11:28:23 字數 2553 閱讀 5118

原文:

wpf學習拾遺(二)textblock換行

下午在幫組裡的同事解決乙個小問題,為了以後方便,把就把它收集一下吧。

新建乙個textblock作為最基礎的乙個控制項,他所攜帶的功能相對於其他的控制項要來的比較少,

比較值得關注的屬性出了布局用的以外和資料繫結意外,就只剩下的text屬性來。

textblock的預設內容屬性是text。

對於換行來說,需要關注的也就是text和inline2個屬性。

常見的textblock換行方法

1)轉義字元換行

在xaml的後台檔案中加入**

1

me.textblock1.text = "

aaaaaaa

" + vbcrlf + "

bbbbbbbb

"

1 this.textblock1.text = "

aaaaaaa\nbbbbbbbb

";

在xaml上寫時

<

textblock

text

="aaaaaaa

bbbbbb"

height

="198"

horizontalalignment

="left"

margin

="30,27,0,0"

name

="textblock1"

verticalalignment

="top"

width

="436"

>

textblock

>

這樣就可以表示顯示的表示換行了,

但是下面這種情況是無效的。

<

textblock

height

="198"

horizontalalignment

="left"

margin

="30,27,0,0"

name

="textblock1"

verticalalignment

="top"

width

="436"

>

aaaaaaa

bbbbbb

textblock

>

在text的內容裡賦值時候,會按照xml去解析,所以對於xml的轉義字元都會起到他們的作用,而上面這種情況,雖然這種寫法是

是預設獲取textblock的內容屬性,但是在賦值過程中會經過convert按照string來處理,字串中解析到換行符時,預設轉成了空格。

所以你看到的結果aaaaaaa和bbbbbb並沒有被換行表示,只是中間隔了乙個空格。

另外xml的轉義字元

空格 ( ) 

tab ( ) 

回車 (

)換行(

)2)設定屬性,自動換行

<

textblock

height

="49"

horizontalalignment

="left"

margin

="30,27,0,0"

name

="textblock1"

verticalalignment

="top"

width

="60"

="wrap"

>

aaaaaaabbbbbb

textblock

>

3)使用inlines屬性的linebreak來換行

簡單的來說就是,顯示的xaml表示用

<

textblock

height

="49"

horizontalalignment

="left"

margin

="30,27,0,0"

name

="textblock1"

verticalalignment

="top"

width

="60"

="wrap"

>

<

run>aaaaaa

run>

<

linebreak

/>

<

run>bbbbbb

run>

textblock

>

後台**新增

textblock1.inlines.add(new run("

aaaaaa"))

textblock1.inlines.add(

newlinebreak())

textblock1.inlines.add(

new run("

bbbb

"))

另外如果run裡面有大量的文字表示,超過了textblock的width時候,文字會被剪下掉,而不是自動換行,這點需要注意一下

WPF學習拾遺(二)TextBlock換行

原文 wpf學習拾遺 二 textblock換行 下午在幫組裡的同事解決乙個小問題,為了以後方便,把就把它收集一下吧。新建乙個textblock作為最基礎的乙個控制項,他所攜帶的功能相對於其他的控制項要來的比較少,比較值得關注的屬性出了布局用的以外和資料繫結意外,就只剩下的text屬性來。textb...

javascript基礎拾遺 二

1.物件定義 定義屬性 var language console.log language.name console.log language.score 定義方法 var language console.log language.name console.log language.score c...

C 拾遺(二 函式)

1.引數陣列。c 的特色,允許函式引數的最後指定乙個引數陣列,可以使用個數不定的引數呼叫,用params關鍵字定義 static double sumvals params double vals return sum 呼叫sumvals 1,2,3 2.值引數和引用引數。引用引數使用關鍵字ref指...