利用 Slider 控制兩個 Label 的 Rotate 和 FontSize 屬性,來了解 DataBinding
Xaml 內容
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:DataBindingSample"
x:Class="DataBindingSample.MainPage">
<StackLayout
BindingContext="{x:Reference Name = slider}">
<Label
Text="ROTATION"
FontAttributes="Bold"
FontSize="Large"
Rotation="{Binding Path=Value}"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Label
Text="FontSize"
FontAttributes="Bold"
FontSize="{Binding Path=Value}"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Slider
x:Name="slider"
Maximum="360"
VerticalOptions="CenterAndExpand" />
<Label
Text="{
Binding Value,
StringFormat='Slider:{0:F0}'}"
FontAttributes="Bold"
FontSize="Large"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage>
- 重點1
BindingContext="{x:Reference Name = slider}"
// 可以寫成
BindingContext="{x:Reference slider}"
// 省略 Name
- 重點2
<Label Text="ROTATION" BindingContext="{x:Reference Name = slider}">
<Label Text="FontSize" BindingContext="{x:Reference Name = slider}">
或是直接在 StackLayout 上設定 BindingContext<StackLayout BindingContext="{x:Reference Name = slider}">
- 重點3
Rotation="{Binding Path=Value}"
// 可以寫成
Rotation="{Binding Value}"
// 省略 Path
- 重點4
Text="{Binding Value,StringFormat='Slider:{0:F0}'}"
StringFormat 用單引號包起來顯示結果
- 20170528
- Xamarin.Forms-帶領你用最有效率的方式開發APP- 5-2. View之間的Binding 也是相同概念範例
沒有留言:
張貼留言