2009-05-18 6 views
6

Przebudowuję strukturę aplikacji pokazu slajdów WPF, którą znalazłem w wersji downloadable code for this WPF video.Jaka jest różnica między ładowaniem stron lub kontrolek użytkownika do elementu ramki XAML?

Istnieje klasa prezentacji, która ma właściwość INotifyPropertyChanged "CurrentSlide", która zmienia się po kliknięciu przycisków Następny/Poprzedni i jest dynamicznie wyświetlana w elemencie Frame.

Pobrane kod wczytuje strony w tej ramce, ale eksperymentował z załadowczych UserControls które wydają się działać tak samo dobrze, w rzeczywistości nie mogę znaleźć żadnej różnicy.

Czy ktoś wie o jakichkolwiek różnicach w ładowaniu stron lub kontrolek użytkownika do elementu ramki XAML?

<Window x:Class="TestFull8229.Views.MainView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:c="clr-namespace:TestFull8229.Commands" 
    xmlns:viewModels="clr-namespace:TestFull8229.ViewModels" 
    Title="Main Window" Height="400" Width="800"> 

    <Window.Resources> 
     <viewModels:Presentation x:Key="presentation"/> 
    </Window.Resources> 

    <DockPanel> 
     <StackPanel> 
      <Viewbox Stretch="Uniform"> 
       <Frame Width="800" Height="600" 
         Source="{Binding Path=CurrentSlide, 
         Source={StaticResource presentation}}"/> 
      </Viewbox> 
     </StackPanel> 
    </DockPanel> 
</Window> 

Odpowiedz

8

strona jest zaprojektowany, aby być w pojemniku nawigacji więc ma własność tytułu i dostęp do usługi nawigacji. Ale jak zauważyliście, UserControl może być załadowany do ramki, jak również może mieć dowolną "treść" WPF. Strona służy również jako klasa podstawowa funkcji PageFunction, która jest przydatna do tworzenia uporządkowanej nawigacji, takiej jak kreatory.

Aha i jeszcze jedno ... Strona może być ładowana w Internet Explorer bez aplikacji hosta. Innymi słowy, IE może działać jako kontener nawigacyjny dla strony tak jak Frame lub NavigationWindow.

+0

Tak, znalazłem w kodzie, że główny plik .xaml odczytuje właściwość Tytuł załadowanej strony, której nie ma UserControl, więc jest to jeden z powodów używania Stron przynajmniej w tym przykładzie –

Powiązane problemy