XAML中的特殊字元以及空白的處理
阿新 • • 發佈:2018-12-22
XAML受限於XML的規則,例如,XML特別關注一些特殊字元,如&,<以及>。如果試圖使用這些字元設定一個元素的內容,將會遇到很多麻煩,因為XAML解析器認為正在做其他的事情,比如建立一個巢狀元素。
例如,要建立一個包含有<You & Me>文字的按鈕,按照正常的方法是不能完成的:
上述的標記是不能建立一個想要的Button的,因為使用了會違反XAML規則的字元。以下是可能會用到的字元實體,如果要使用特殊符號,必須通過引用字元實體,因為引號用於指示一個特性值的開始和結束。<Button ...> <You & Me> </Button>
特殊字元實體
特殊字元 字元實體小於號(<) <大於號(>) >&符號(&) &引號(“) "現在,要想實現上述Button,可以如下標記:
<Button ...>
< You & Me>
</Button>
如此則可以正確的標識所要的Button。
另,XAML預設的是壓縮所有的空白字元,如空格,Tab鍵,硬回車等,將其壓縮為一個標準的空格長度的空白字元,但如果需要在現實的文字中顯示所要的空白,必須對元素的屬性做一宣告,即將使用元素標記為:xml:space="preserve",如下
這樣,在實際顯示的時候,文字框除了顯示空格,Tab以外,還會顯示一個硬回車,因為預設的是處理所有的空白。<TextBox Name = "txtTest" xml:sapce="preserve" ...> [There is some space " "] </TextBox>
如果不想讓其顯示硬回車,就必須使用一個不是太好看的標記方式以去掉硬回車,如下:這樣,就確保了開始符號<和結束符號>之間沒有其他空白字元。<TextBox Name = "txtTest" xml:sapce="preserve" ...> [There is some space " "]</TextBox>