Aracılığıyla paylaş


Gezinti Topolojilerine Genel Bakış

Bu genel bakış, WPF'deki gezinti topolojilerine giriş sağlar. Örneklerle birlikte üç yaygın gezinti topolojisi daha sonra ele alınıyor.

Uyarı

Bu konuyu okumadan önce, sayfa işlevlerini kullanarak WPF'de yapılandırılmış gezinti kavramı hakkında bilgi sahibi olmanız gerekir. Bu konuların her ikisi hakkında daha fazla bilgi için bkz. Yapılandırılmış Gezintiye Genel Bakış.

Bu konu aşağıdaki bölümleri içerir:

WPF'de gezinti genellikle tıklandığında diğer sayfalara gitmek için köprüler (Page) içeren sayfalardan (Hyperlink) oluşur. Adresine gidilen sayfalar tekdüzen kaynak tanımlayıcıları (URI' ler) tarafından tanımlanır (bkz. WPFPaket URI'leri ). Sayfaları, köprüleri ve tekdüzen kaynak tanımlayıcılarını (URI) gösteren aşağıdaki basit örneği göz önünde bulundurun:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="Page1">
  <Hyperlink NavigateUri="Page2.xaml">Navigate to Page2</Hyperlink>
</Page>
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="Page2">
  <Hyperlink NavigateUri="Page1.xaml">Navigate to Page1</Hyperlink>
</Page>

Bu sayfalar, yapısı, sayfalar arasında nasıl gezinebileceğinize göre belirlenen bir navigasyon topolojisinde düzenlenmiştir. Bu özel gezinti topolojisi basit senaryolarda uygundur, ancak gezinti daha karmaşık topolojiler gerektirebilir; bunlardan bazıları yalnızca bir uygulama çalışırken tanımlanabilir.

Bu konu üç yaygın gezinti topolojisini kapsar: sabit doğrusal, sabit hiyerarşikvedinamik olarak oluşturulan . Her gezinti topolojisi, aşağıdaki şekilde gösterilen kullanıcı arabirimine sahip bir örnekle gösterilir:

Görev sayfaları, veri öğeleri ve gezinti düğmeleriyle .

Yapılandırılmış Gezinti Topolojileri

İki geniş gezinti topolojisi türü vardır:

  • Sabit Topoloji: derleme zamanında tanımlanır ve çalışma zamanında değişmez. Sabit topolojiler, sabit bir sayfa dizisinde doğrusal veya hiyerarşik sırada gezinmek için kullanışlıdır.

  • Dinamik Topolojisi: Kullanıcıdan, uygulamadan veya sistemden toplanan girişlere göre çalışma zamanında tanımlanır. Dinamik topolojiler, sayfalarda farklı sıralarda gezinilebildiği durumlarda kullanışlıdır.

Sayfaları kullanarak gezinti topolojileri oluşturmak mümkün olsa da örnekler, topolojinin sayfalarından veri geçirme ve döndürme desteğini basitleştiren ek destek sağladığından sayfa işlevlerini kullanır.

Lineer sabit topoloji, belirli bir dizide sırayla gezilen bir veya daha fazla sihirbaz sayfasına sahip bir sihirbaz yapısına benzer. Aşağıdaki şekilde, sabit doğrusal topolojiye sahip bir sihirbazın üst düzey yapısı ve akışı gösterilmektedir:

Sabit doğrusal topolojiyi gösteren Diyagramı.

Sabit doğrusal topolojide gezinmeye yönelik tipik davranışlar şunlardır:

  • Arama sayfasından sihirbazı başlatan ve ilk sihirbaz sayfasına giden bir başlatıcı sayfasına gitme. Çağrı sayfası ilk sihirbaz sayfasını doğrudan arayabildiğinden, kullanıcı arayüzü olmayan bir başlatıcı sayfası (PageFunction<T>) gerekli değildir. Başlatıcı sayfası üzerinden kurulum sihirbazını başlatmak, özellikle başlatma karmaşıksa, süreci basitleştirebilir.

  • Kullanıcılar, Geri ve İlet düğmelerini (veya köprüleri) kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar günlüğü kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar, bir İptal düğmesine basarak sihirbazı herhangi bir sihirbaz sayfasından iptal edebilir.

  • Sihirbazın son sayfasında Son düğmesine basarak kullanıcılar sihirbazı kabul edebilir.

  • Sihirbaz iptal edilirse, sihirbaz uygun bir sonuç döndürür ve hiçbir veri döndürmez.

  • Kullanıcı bir sihirbazı kabul ederse, sihirbaz uygun bir sonuç döndürür ve topladığı verileri döndürür.

  • Sihirbaz tamamlandığında (onaylandığında veya iptal edildiğinde), sihirbazın içerdigi sayfalar günlükten kaldırılır. Bu, sihirbazın her örneğini yalıtılmış tutar ve böylece olası veri veya durum anomalilerinden kaçınılır.

Sabit Hiyerarşik Topoloji üzerinde Dinamik Gezinti

Bazı uygulamalarda sayfalar, aşağıdaki şekilde gösterildiği gibi iki veya daha fazla sayfaya daha gezintiye izin verir:

Birden çok sayfaya gidebilen bir sayfayı gösteren diyagram.

Bu yapı sabit hiyerarşik topoloji olarak bilinir ve hiyerarşinin geçiş sırası genellikle uygulama veya kullanıcı tarafından çalışma zamanında belirlenir. Çalışma zamanında, hiyerarşideki iki veya daha fazla sayfaya gezintiye izin veren her sayfa, hangi sayfaya gidileceğini belirlemek için gereken verileri toplar. Aşağıdaki şekilde, önceki şekil temelinde birkaç olası gezinti dizilerinden biri gösterilmektedir:

Olası bir gezinti sırasını gösteren diyagram .

Sabit bir hiyerarşik yapıdaki sayfaların gezinildiği sıra çalışma zamanında belirlense de, kullanıcı deneyimi sabit doğrusal topoloji için kullanıcı deneyimiyle aynıdır:

  • Arama sayfasından sihirbazı başlatan ve ilk sihirbaz sayfasına giden bir başlatıcı sayfasına gitme. Çağrı sayfası ilk sihirbaz sayfasını doğrudan arayabildiğinden, kullanıcı arayüzü olmayan bir başlatıcı sayfası (PageFunction<T>) gerekli değildir. Başlatıcı sayfası üzerinden kurulum sihirbazını başlatmak, özellikle başlatma karmaşıksa, süreci basitleştirebilir.

  • Kullanıcılar, Geri ve İlet düğmelerini (veya köprüleri) kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar günlüğü kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar, günlükte geri gitmeleri durumunda gezinti sırasını değiştirebilir.

  • Kullanıcılar, bir İptal düğmesine basarak sihirbazı herhangi bir sihirbaz sayfasından iptal edebilir.

  • Sihirbazın son sayfasında Son düğmesine basarak kullanıcılar sihirbazı kabul edebilir.

  • Sihirbaz iptal edilirse, sihirbaz uygun bir sonuç döndürür ve hiçbir veri döndürmez.

  • Kullanıcı bir sihirbazı kabul ederse, sihirbaz uygun bir sonuç döndürür ve topladığı verileri döndürür.

  • Sihirbaz tamamlandığında (onaylandığında veya iptal edildiğinde), sihirbazın içerdigi sayfalar günlükten kaldırılır. Bu, sihirbazın her örneğini yalıtılmış tutar ve böylece olası veri veya durum anomalilerinden kaçınılır.

Bazı uygulamalarda, iki veya daha fazla sayfanın gezinildiği sıra yalnızca kullanıcı, uygulama veya dış veriler tarafından çalışma zamanında belirlenebilir. Aşağıdaki şekilde, belirlenemeyen bir gezinti dizisine sahip bir sayfa kümesi gösterilmektedir:

Belirlenemeyen bir gezinti dizisine sahip bir sayfa kümesi.

Sonraki şekilde, kullanıcı tarafından çalışma zamanında seçilen bir gezinti dizisi gösterilmektedir:

Çalışma zamanında seçilen gezinti sırasını gösteren diyagram.

Gezinti dizisi dinamik olarak oluşturulan topoloji olarak bilinir. Diğer gezinti topolojileri gibi kullanıcı için de kullanıcı deneyimi önceki topolojilerle aynıdır:

  • Arama sayfasından sihirbazı başlatan ve ilk sihirbaz sayfasına giden bir başlatıcı sayfasına gitme. Çağrı sayfası ilk sihirbaz sayfasını doğrudan arayabildiğinden, kullanıcı arayüzü olmayan bir başlatıcı sayfası (PageFunction<T>) gerekli değildir. Başlatıcı sayfası üzerinden kurulum sihirbazını başlatmak, özellikle başlatma karmaşıksa, süreci basitleştirebilir.

  • Kullanıcılar, Geri ve İlet düğmelerini (veya köprüleri) kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar günlüğü kullanarak sayfalar arasında gezinebilir.

  • Kullanıcılar, bir İptal düğmesine basarak sihirbazı herhangi bir sihirbaz sayfasından iptal edebilir.

  • Sihirbazın son sayfasında Son düğmesine basarak kullanıcılar sihirbazı kabul edebilir.

  • Sihirbaz iptal edilirse, sihirbaz uygun bir sonuç döndürür ve hiçbir veri döndürmez.

  • Kullanıcı bir sihirbazı kabul ederse, sihirbaz uygun bir sonuç döndürür ve topladığı verileri döndürür.

  • Sihirbaz tamamlandığında (onaylandığında veya iptal edildiğinde), sihirbazın içerdigi sayfalar günlükten kaldırılır. Bu, sihirbazın her örneğini yalıtılmış tutar ve böylece olası veri veya durum anomalilerinden kaçınılır.

Ayrıca bakınız