2018/1/9

Xamarin.Forms v2.5 Oplatform 新寫法


隨著 Xamrin.Forms 更新到了 2.5,

Device.OnPlatform 也變成時代的眼淚了...

第一版教學內的 OnPlatform 已經不再適用。




舊版我們這樣寫 (已過時)
            Device.OnPlatform(
                iOS: ()=> Padding = new Thickness(0, 20, 0, 0),
                Android: ()=> Padding = new Thickness(0),
                WinPhone:() => Padding = new Thickness(0));

新版請跟我樣做:
            switch (Device.RuntimePlatform)
            {
                case Device.iOS:
                    Padding = new Thickness(0, 20, 0, 0);
                    break;
                case Device.Android:
                    Padding = new Thickness(0);
                    break;
                case Device.WinPhone:
                    Padding = new Thickness(0);
                    break;
                default:
                    Padding = new Thickness(0);
                    break;
            }


XAML 當然也改版啦!

舊的 XAML 長這樣 (已過時)
    <StackLayout>
        <StackLayout.Padding>
            <OnPlatform x:TypeArguments="Thickness" 
                Android="0, 0, 0, 0" 
                WinPhone="0, 0, 0, 0" 
                iOS="0, 20, 0, 0"/>
        </StackLayout.Padding>
    </StackLayout>

新的這樣寫:
    <StackLayout>
        <StackLayout.Padding>
            <OnPlatform x:TypeArguments="Thickness">
                <On Platform="Android, WinPhone">0</On>
                <On Platform="iOS">0,20,0,0</On>
            </OnPlatform>
        </StackLayout.Padding>
    </StackLayout>


以後應該會以這樣的形式
發布一些重要程式更新的訊息,並在教學內補上連結吧!




沒有留言:

張貼留言