2009-05-18 25 views
6

Tôi đang xây dựng lại cấu trúc ứng dụng trình chiếu WPF mà tôi tìm thấy trong số downloadable code for this WPF video.Sự khác nhau giữa tải trang hoặc UserControls vào một yếu tố khung XAML là gì?

Có một lớp Trình bày có thuộc tính INotifyPropertyChanged "CurrentSlide" thay đổi khi bạn nhấp vào nút tiếp theo/trước đó và được hiển thị động trong phần tử Khung.

Các tải đang tải trang vào khung này, nhưng tôi đã thử nghiệm với tải UserControls mà dường như chỉ làm việc là tốt, trên thực tế tôi không thể tìm thấy bất kỳ sự khác biệt.

Có ai biết về bất kỳ sự khác biệt nào trong việc tải Trang hoặc UserControls vào phần tử Khung XAML không?

<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> 

Trả lời

8

Trang được thiết kế nằm trong vùng chứa điều hướng để trang có thuộc tính tiêu đề và quyền truy cập vào dịch vụ điều hướng. Nhưng như bạn đã lưu ý, một UserControl có thể được nạp trong một khung cũng như bất kỳ nội dung WPF hợp lệ nào. Trang cũng đóng vai trò là lớp cơ sở cho một PageFunction hữu ích cho việc tạo điều hướng có cấu trúc như trình hướng dẫn.

Oh và một điều nữa ... Trang có thể được tải trong Internet Explorer mà không cần ứng dụng máy chủ. Nói cách khác, IE có thể hoạt động như một thùng chứa điều hướng cho trang giống như Khung hoặc NavigationWindow.

+0

có, tôi đã tìm thấy trong mã mà tệp .xaml chính đọc thuộc tính Tiêu đề của trang được tải, mà UserControl không có, do đó đó là một lý do để sử dụng Trang ít nhất trong ví dụ này –

Các vấn đề liên quan