Многостраничные приложения в Silverlight - Интерфейс ISwitchable

ОГЛАВЛЕНИЕ

Интерфейс ISwitchable

Отлично! Теперь вы можете удалить строку, которую вы добавили в конструктор PageSwitcher. До того, как вы раскомментируете вторую перегрузку метода Navigate, вам нужно создать интерфейс ISwitchable, потому что он используется в данной перегрузке,

public void Navigate( UserControl nextPage, object state )
 {
    this.Content = nextPage;
    ISwitchable s = nextPage as ISwitchable;

Интерфейс является гарантией того, что любой класс, реализующий интерфейс, будет реализовывать UtilizeState. UtilizeState является методом, который получает объект и возвращает void,

public interface ISwitchable
{
   void UtilizeState( object state );
}

Данный интерфейс является неполным - он позволяет нам предполагать, что если вы передаете объект при навигации на другую страницу, то мы можем указать той странице использовать объект,  так как страница будет Switchable и будет знать как обращаться с объектом.

Вы создаете интерфейс, указав Visual Studio, что вы хотите создать новый класс, названный ISwitchable.cs, и затем заменить класс, который он создает для вас, указанным кодом интерфейса.

Как только вы объявили ISwitchable, вы можете раскомментировать второй метод Navigate в SearchPage.xaml.cs.