Xamarin.forms: Mematahkan perubahan Xaml pada XF 3.1

Dibuat pada 24 Jun 2018  ·  3Komentar  ·  Sumber: xamarin/Xamarin.Forms

Saya hanya ingin memberi tahu Anda bahwa jika Anda mengupgrade pada versi XF 3.1, Anda mungkin mendapatkan kesalahan xaml yang mengatakan bahwa "nama anggota tidak boleh sama dengan tipe lampirannya". ini adalah kesalahan C # yang terkenal jika tipe induk dan anak memiliki nama yang sama

alasannya adalah kode di bawah ini berfungsi pada versi sebelum XF 3.1 tetapi mengembalikan kesalahan pada XF 3.1 ... Saya tidak yakin apakah itu seharusnya merupakan bug atau perbaikan bug sepanjang waktu?

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             x:Class="myApp.TestPage"  x:Name="TestPage" > 

  <ContentPage.Content>

            <c:cwTest x:Name="cwTest"  VerticalOptions="FillAndExpand"  HorizontalOptions="FillAndExpand"/>

  </ContentPage.Content>
</ContentPage>
Xaml </> invalid bug

Komentar yang paling membantu

@EmilAlipiev @StephaneDelcroix ya, akan sangat membantu untuk diperingatkan sebelumnya. Ini adalah perubahan yang menghancurkan dan jenis permintaan maaf / alasan Anda tidak membantu.

Semua 3 komentar

Satu-satunya hal yang berubah adalah kita sekarang membuat field untuk x:Name didefinisikan pada elemen XAML level atas, sehingga pada akhirnya dapat diakses dari belakang kode, dan kita tidak sebelumnya.

Anda dapat mereproduksi perilaku itu dengan versi XF sebelumnya dengan memiliki Label atau elemen apa pun di xaml Anda dengan atribut `x: Name =" TestPage "'.

Kami mohon maaf jika itu merusak beberapa kode Anda. Setelah dipertimbangkan dengan cermat, ini tidak dianggap sebagai bug atau regresi. Kode Anda biasanya mengandalkan validasi yang hilang, tetapi Anda tidak dapat memanfaatkan kegagalan ini lagi.

Solusi untuk ini adalah sepele, langsung, dan sangat mudah untuk diterapkan.

@StephaneDelcroix Saya setuju dengan itu. Saya hanya menarik perhatian Anda karena Anda seharusnya menyoroti itu. VS2017 tidak memberi saya informasi yang cukup, melainkan memberikan 100 kesalahan untuk satu file. setelah saya mengembalikan kembali ke 3.0, semuanya berfungsi dengan baik. hanya untuk orang lain yang mengalami kesalahan ini untuk mereferensikan masalah ini.

@EmilAlipiev @StephaneDelcroix ya, akan sangat membantu untuk diperingatkan sebelumnya. Ini adalah perubahan yang menghancurkan dan jenis permintaan maaf / alasan Anda tidak membantu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat