IProvideCustomContentState Arabirim

Tanım

İçerikten uzaklaşmadan önce içerik için gezinti geçmişi girdisine özel durum eklemesi gereken bir sınıf tarafından uygulanır.

public interface class IProvideCustomContentState
public interface IProvideCustomContentState
type IProvideCustomContentState = interface
Public Interface IProvideCustomContentState

Açıklamalar

IProvideCustomContentState , özel sınıf olarak uygulanan bir özel CustomContentState durum parçasını, öğesinden uzaklaştırılan içerik için gezinti geçmişi girişiyle ilişkilendirmenize olanak tanır.

Özel durum, aşağıdakiler kullanılarak da bu şekilde ilişkilendirilebilir:

AddBackEntry'yi çağırarak gezinti geçmişine özel durum eklediğinizde uygulamanız IProvideCustomContentState gerekir, aksi takdirde gezinti geçmişi düzgün çalışmaz; aşağıdaki adımları göz önünde bulundurun:

  1. AddBackEntry , bir özel durumu geçerli içerikle ilişkilendirmek için çağrılır.

  2. Gezinti geçmişi girdisine geri gidilir ve Replay özel durumun yöntemi çağrılır ve durum içeriğe uygulanır.

  3. Önceki içeriğe ileriye doğru gezinti geçmişinde gidilir.

  4. Gezinti geçmişi girdisine geri gidilir, ancak özel durum, ilişkilendirildiği gezinti geçmişi girişinin son gidildiğinden bu yana korunmamıştır.

Bu varsayılan davranıştır çünkü başlangıçta özel durumda kaydedilen durum gezinti geçmişine eklendikten sonra değişebilir. Özel durum nesnesine geri gidilirse ve durumu uygulanırsa, gezinti geçmişindeki girişe gidilmeden önce durumla ilgili bazı yönler değişmeden önce, durum değişikliği özel durum nesnesine yansıtılamaz. Ayrıca, AddBackEntry durum değişikliklerini yansıtan yeni bir özel durum nesnesi eklemek için açıkça çağrılamıyor. Sonuç olarak, belirli bir gezintinin geçerli durumunun her zaman gezinti geçmişinde GetContentState depolandığından emin olmak için çağrılır.

Önemli

Bilgileri özel içerik durumunda depoladığınızda, durumunu anımsadığınız sayfanın örneğine yapılan başvuruları depolayamazsınız. Bu, WPF'nin sayfa örneğini serbest bırakmasını engeller ve varsayılan gezinti geçmişi davranışının amacını alt eder. Bunu yapmanız gerekiyorsa, bunun yerine kullanmayı KeepAlive düşünebilirsiniz.

Yöntemler

GetContentState()

Gezinti geçmişindeki içerikle ilişkilendirilecek özel durum sınıfının bir örneğini döndürür.

Şunlara uygulanır