Многостраничные приложения в 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.