Açılır pencereleri görüntüle

Örnek indir Örneği indirin

Bir uyarının görüntülenmesi, kullanıcıdan seçim yapmasını veya bir istem görüntülenmesini istemek ortak bir kullanıcı arabirimi görevidir. Xamarin.Forms ,, Page , ve arasında Kullanıcı ile etkileşim kurmak için sınıfında üç yönteme sahiptir: DisplayAlert , DisplayActionSheet ve DisplayPromptAsync . Bunlar her platformda uygun yerel denetimlerle işlenir.

Uyarı görüntüleme

Tüm Xamarin.Forms Desteklenen platformlar, kullanıcıyı uyarmak veya basit soruları sormak için, kalıcı bir açılır pencere ister. İçindeki bu uyarıları göstermek için, Xamarin.FormsDisplayAlert herhangi bir yöntemi kullanın Page . Aşağıdaki kod satırı kullanıcıya basit bir ileti göstermektedir:

await DisplayAlert ("Alert", "You have been alerted", "OK");

İOS ve Android 'de tek bir düğmeyle uyarı iletişim kutusu

Bu örnek, kullanıcıdan bilgi toplamaz. Uyarı Modal olarak görüntülenir ve Kullanıcı kapatıldıktan sonra uygulamayla etkileşim kurmaya devam eder.

DisplayAlertYöntemi, iki düğme sunarak ve döndürerek bir kullanıcının yanıtını yakalamak için de kullanılabilir boolean . Bir uyarıdan yanıt almak için, her iki düğme ve yöntemi için metin sağlayın await . Kullanıcı, bu seçeneklerden birini seçtikten sonra, yanıt kodunuza döndürülür. asyncawait Aşağıdaki örnek kodda ve anahtar kelimelerini aklınızda bulabilirsiniz:

async void OnAlertYesNoClicked (object sender, EventArgs e)
{
  bool answer = await DisplayAlert ("Question?", "Would you like to play a game", "Yes", "No");
  Debug.WriteLine ("Answer: " + answer);
}

İki düğme içeren uyarı iletişim kutusu

DisplayAlertBu yöntemde Ayrıca, FlowDirection Uyarı içinde kullanıcı arabirimi öğelerinin Flow yönünü belirten bir bağımsız değişkeni kabul eden aşırı yüklemeleri de vardır. Akış yönü hakkında daha fazla bilgi için bkz. sağdan sola yerelleştirme.

Uyarı

UWP 'de varsayılan olarak, bir uyarı görüntülendiğinde, uyarının arkasındaki sayfada tanımlanmış olan herhangi bir erişim anahtarı yine de etkinleştirilebilir. Daha fazla bilgi için Windows üzerinde görselleştirme erişim tuşlarıbölümüne bakın.

Görevler aracılığıyla kullanıcıları kılavuza geçir

Uıactionsheet , iOS 'daki ortak bir kullanıcı arabirimi öğesidir. Xamarin.FormsDisplayActionSheet Yöntemi, bu denetimi platformlar arası uygulamalara eklemenizi, ANDROID ve UWP 'de yerel alternatifler oluşturmayı sağlar.

Bir eylem sayfasını göstermek için, awaitDisplayActionSheetPage ileti ve düğme etiketlerini dizeler olarak geçirme. Yöntemi, Kullanıcı tarafından tıklanan düğmenin dize etiketini döndürür. Burada basit bir örnek gösterilmektedir:

async void OnActionSheetSimpleClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
  Debug.WriteLine ("Action: " + action);
}

ActionSheet iletişim kutusu, iOS ve Android üzerinde

destroyDüğme, iOS 'daki diğer düğmelere farklı şekilde işlenir ve null üçüncü dize parametresi olarak bırakılabilir veya belirlenebilir. Aşağıdaki örnek, düğmesini kullanır destroy :

async void OnActionSheetCancelDeleteClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
  Debug.WriteLine ("Action: " + action);
}

İOS ve Android üzerinde yok düğmesine sahip ActionSheet iletişim kutusu

DisplayActionSheetYönteminde Ayrıca, FlowDirection Eylem sayfası içinde hangi kullanıcı arabirimi öğelerinin Flow yönünü belirten bir bağımsız değişkeni kabul eden bir aşırı yüklemesi de vardır. Akış yönü hakkında daha fazla bilgi için bkz. sağdan sola yerelleştirme.

İstem görüntüleme

Bir istemi göstermek için, bir DisplayPromptAsyncPage başlık ve iletiyi bağımsız değişken olarak geçirerek herhangi bir öğesini çağırın string :

string result = await DisplayPromptAsync("Question 1", "What's your name?");

İstem, ekranda görüntülenir:

İOS ve Android kalıcı bir istem için kalıcı istem ekran görüntüsü

Tamam düğmesi dokunduğunda, girilen yanıt bir olarak döndürülür string . Iptal düğmesi dokunduğunda, null döndürülür.

Yöntemi için tam bağımsız değişken listesi DisplayPromptAsync :

  • title, türünde string , komut isteminde görüntülenecek başlıktır.
  • message, türünde string , komut isteminde görüntülenecek iletidir.
  • accept, türü string , kabul et düğmesinin metindir. Bu, varsayılan değeri OK olan isteğe bağlı bir bağımsız değişkendir.
  • cancel, türü, string İptal düğmesinin metindir. Bu, varsayılan değeri Iptal olan isteğe bağlı bir bağımsız değişkendir.
  • placeholder, türünde string , istem içinde görüntülenecek yer tutucu metindir. Bu, varsayılan değeri olan isteğe bağlı bir bağımsız değişkendir null .
  • maxLength, türü int , Kullanıcı yanıtının en uzun uzunluğudur. Bu, varsayılan değeri-1 olan isteğe bağlı bir bağımsız değişkendir.
  • keyboard, türü Keyboard , Kullanıcı yanıtı için kullanılacak klavye türüdür. Bu, varsayılan değeri olan isteğe bağlı bir bağımsız değişkendir Keyboard.Default .
  • initialValue, türü, string görüntülenecek ve düzenlenebilecek önceden tanımlanmış bir yanıttır. Bu, varsayılan değeri boş olan isteğe bağlı bir bağımsız değişkendir string .

Aşağıdaki örnek, isteğe bağlı bağımsız değişkenlerden bazılarını ayarlamayı gösterir:

string result = await DisplayPromptAsync("Question 2", "What's 5 + 5?", initialValue: "10", maxLength: 2, keyboard: Keyboard.Numeric);

Bu kod, önceden tanımlanmış 10 yanıtını görüntüler, 2 ' ye giriş olabilecek karakter sayısını kısıtlar ve Kullanıcı girişi için sayısal klavyeyi görüntüler:

İOS ve Android kalıcı isteminde isteğe bağlı kalıcı bir istem için kalıcı istem ekran görüntüsü

Uyarı

UWP 'de varsayılan olarak, bir istem görüntülendiğinde, istem arkasındaki sayfada tanımlı herhangi bir erişim anahtarı hala etkinleştirilebilir. Daha fazla bilgi için Windows üzerinde görselleştirme erişim tuşlarıbölümüne bakın.