Xamarin.forms: Properti IsPassword entri, ketika diubah secara terprogram tidak menutupi / membuka kedok teks di layar di aplikasi Mac

Dibuat pada 2 Apr 2018  ·  3Komentar  ·  Sumber: xamarin/Xamarin.Forms

Deskripsi

Ketika properti IsPassword dari entri tersebut diubah secara dinamis di Formulir Xamarin, itu tidak tercermin di aplikasi Xamarin Mac yang terintegrasi dengan Formulir Xamarin.

Langkah-langkah untuk Mereproduksi

  1. Buat entri bernama kata sandi di aplikasi Xamarin Forms
  2. Setel properti IsPassword ke true di Xaml.
  3. Buat tombol bernama toggle dengan handler klik toggle_clicked
  4. Di penangan, ubah kata sandi.IsPassword = false;
  5. Tambahkan beberapa teks di entri
  6. Klik tombol sakelar

Perilaku yang Diharapkan

teks dalam entri kata sandi harus dibuka kedoknya

Perilaku Sebenarnya

Teks di entri masih tertutup
Bahkan sebaliknya tidak berfungsi seperti yang diharapkan

Catatan: Ini hanya terjadi di Mac (iOS, Android dan UWP bagus dengan ini)

Informasi dasar

  • Versi dengan masalah: Xamarin Formulir: 2.5.0.280555
  • Versi bagus terakhir yang diketahui:
  • IDE: Visual studio untuk mac
  • Kerangka Kerja Target Platform:

    • iOS:

    • Android:

    • UWP:

    • Mac: 4.2.1.28

  • Versi Pustaka Dukungan Android:
  • Paket Nuget:
  • Perangkat yang Terkena Dampak: Aplikasi Mac

Screenshot

Tautan Reproduksi

6 low impact macOS bug

Semua 3 komentar

Saya mengalami masalah yang sama, ini hanya terjadi di Mac. Saya telah mengujinya dengan WPF dan GTK dan berfungsi dengan baik.

Ini karena kode ini tidak diterapkan . Sayangnya, menerapkan ini di macOS tidak sepele, karena di Mac, kontrol "sandi aktif" ( NSSecureTextField ) adalah kelas yang sepenuhnya terpisah dari kontrol "sandi nonaktif" ( NSTextField ). Menerapkan ini di EntryRenderer akan mengharuskannya membuat ulang kontrol aslinya setiap kali IsPassword berubah.

Meskipun NSSecureTextField mendukung penghapusan peluru (lihat -[NSSecureTextFieldCell echosBullets] ), menggunakannya untuk mengimplementasikan "password off" adalah ide yang buruk, karena pengaturan echosBullets menjadi false tidak menghapus perilaku lain dari NSSecureTextField (seperti ketidakmampuan untuk menyalinnya).

@rmarinho Saya baru saja menambahkan implementasi masalah ini untuk MacOS.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat