Button使用
功能很簡(jiǎn)單,用來響應(yīng)用戶的點(diǎn)擊操作。
Button特殊屬性介紹
Text、FontAttributes等屬性不再說明。
- Image :FileImageSource類型,按鈕上顯示的圖片,涉及圖片資源先不介紹。
- BorderWidth :double類型,表示按鈕邊框?qū)挾龋J(rèn)值0。
- BorderColor :邊框顏色,默認(rèn)值Color.Default。
- BorderRadius :double類型,按鈕圓角弧度,默認(rèn)值5。
只設(shè)置BorderWidth屬性,僅IOS有邊框效果。同時(shí)設(shè)置BorderWidth和BorderColor,使 Windows 10 mobile顯示邊框效果。而Android要同時(shí)設(shè)置BorderWidth、BorderColor和BackgroundColor才會(huì)有邊框效果。
BorderRadius僅對(duì)Android和IOS有效
Button事件
- Clicked :用戶點(diǎn)擊按鈕,手指抬起時(shí)觸發(fā),手指按下移動(dòng)手指到按鈕外不會(huì)觸發(fā)。
示例:
<Button Text="Forms Button"
HorizontalOptions="Center"
VerticalOptions="Center"
BorderWidth="5"
BorderColor="Aqua"
BackgroundColor="Red"/>
效果,Android預(yù)覽效果變形,運(yùn)行時(shí)正常(為了演示屬性,效果是難看了):

ActivityIndicator使用
給用戶簡(jiǎn)單的反饋表明程序正在運(yùn)行,不提供具體進(jìn)度信息。
不同平臺(tái)效果

ActivityIndicator內(nèi)部實(shí)現(xiàn)只定義了兩個(gè)屬性。
- Color :表示指示器顏色。
- IsRunning :bool類型,指示活動(dòng)是否正在運(yùn)行,設(shè)置為false時(shí)ActivityIndicator自動(dòng)隱藏。
無特殊事件。
XAML定義:
<ActivityIndicator
HorizontalOptions="Center"
VerticalOptions="Center"
Color="Red"
IsRunning="true"/>
ProgressBar使用
顯示進(jìn)度信息。定義了Progress屬性表示當(dāng)前進(jìn)度。Progress也是ProgressBar定義的唯一屬性,沒有提供MaxXX和MinXX相關(guān)屬性,所以Progress有效值是0~1范圍內(nèi)的double類型數(shù)值。
不同平臺(tái)效果展示:

XAML定義
<ProgressBar
VerticalOptions="Center"
Progress=".5" />
ProgressBar定義了一個(gè)ProgressTo方法設(shè)置當(dāng)前進(jìn)度值,與直接賦值Progress不同ProgressTo提供了動(dòng)畫效果(Animate方法實(shí)現(xiàn))。第一個(gè)參數(shù)value表示設(shè)置的進(jìn)度值,第二個(gè)參數(shù)length表示多少時(shí)間內(nèi)達(dá)到設(shè)置的值(毫秒),第三個(gè)參數(shù)easing表示動(dòng)畫效果。

使用示例和效果:
await progressBar.ProgressTo(0.8, 3000, Easing.BounceOut);

Slider使用
Slider是一個(gè)水平拖動(dòng)的滑塊。

Slider提供屬性
- Maximum :double類型,表示Slider支持最大值,默認(rèn)值1。
- Minimum :double類型,表示Slider支持最小值,默認(rèn)值0。
- Value :double類型,表示Slider當(dāng)前值。
定義Slider注意事項(xiàng)。Minimum值必須小于Maximum值,Value值必須大于等于Minimum小于等于Maximum。
如<Slider Minimum="10"/>定義Slider引發(fā)異常:

XAML解析器解析Slider節(jié)點(diǎn),初始化Slider定義Minimum為10,Maximum值仍是默認(rèn)值1,Minimum大于Maximum引發(fā)異常,因此定義Slider時(shí)應(yīng)先為Maximum賦值再為Minimum賦值,Minimum和Maximum有正確的賦值之后再為Value賦值。

當(dāng)我們先定義Value值為30時(shí),滑塊仍處于最小值位置不會(huì)出現(xiàn)我們期望的效果,這是因?yàn)閄AML解析器解析Slider節(jié)點(diǎn)會(huì)根據(jù)屬性賦值順序從前到后初始化Slider對(duì)象,先賦值Value等于30,此時(shí)Minimum值為0,Maximum值為1,Value等于30不是一個(gè)合法的值.
Slider提供事件
- ValueChanged :Value值發(fā)生改變時(shí)觸發(fā)。
Stepper使用
Stepper 與Slider類似,區(qū)別是Stepper兩個(gè)按鈕組成,兩個(gè)按鈕加減一個(gè)增量值改變Value的值。

Stepper提供屬性
- Increment :double類型,表示Stepper增量值,默認(rèn)值1。
- Maximum :double類型,表示Stepper支持最大值,默認(rèn)值100。
- Minimum :double類型,表示Stepper支持最小值,默認(rèn)值0。
- Value :double類型,表示Stepper當(dāng)前值。
Stepper提供事件
- ValueChanged :Value值發(fā)生改變時(shí)觸發(fā)。
Switch使用
Switch表示開關(guān)按鈕,獲取用戶bool類型輸入。Switch只定義了一個(gè)IsToggled屬性,IsToggled屬性的改變會(huì)觸發(fā)Toggled事件。
當(dāng)我們?yōu)镾witch的x:Name屬性時(shí)賦值時(shí)可能會(huì)賦值為switch與C#關(guān)鍵字重復(fù),可以替換為@switch。
