2011-10-08 27 views
33

Như tôi đã biết, WinRT là một phiên bản khác của WPF được viết mà không cần sử dụng các API Win32 cơ bản.WinRT và WPF trong Windows 8

Mối quan hệ của WinRT và WPF là gì? WPF có hoạt động dưới Metro trong Windows 7 hay nó sẽ khởi động máy để bàn cổ điển?

Điều đó không quá rõ ràng từ Bài phát biểu. Nếu ai đó đã cài đặt Windows 8 có thể xác nhận hành vi của nó.

Cảm ơn

+2

Mong đợi tồi tệ hơn khi bạn đến từ WPF. Rất nhiều thứ đã bị xóa .. –

Trả lời

5

WinRT là thư viện mới mà bạn có thể sử dụng XAML chứ không phải WPF.

WPF chủ yếu sử dụng DirectX cho hình ảnh.

Bạn có thể sử dụng WinRT với:

  • XAML
    • C#
    • C++
    • VB.NET
  • HTML/JS/CSS
+0

WPF có chuyển sang máy tính để bàn cổ điển hoặc hoạt động dưới Metro không? Cảm ơn – bstodos

+0

WPF dành cho các ứng dụng dành cho máy tính để bàn chứ không phải là tàu điện ngầm. Các ứng dụng Metro phải được viết AFAIK với WinRT. –

+0

Nhưng chúng ta có thể dễ dàng chuyển các mô hình WPF và ViewModels của mình sang WinRT và chỉ phải viết lại Chế độ xem của chúng tôi? –

10

Có là không có mối quan hệ giữa WPF và WinRT, giống như không có mối quan hệ giữa Silverlight và WPF. Bây giờ chúng tôi có ba công nghệ, WPF, Silverlight và WinRT.

Nếu bạn cố gắng thực thi ứng dụng WPF, nó sẽ không thực thi trên Metro, nó sẽ chỉ thực hiện trong màn hình nền cổ điển.

Trong Visual Studio 2011, bạn có WPF và Metro dưới dạng hai loại ứng dụng khác nhau và Xaml cho WPF và WinRT không giống nhau, Xaml cho WinRT khá giống với Silverlight khi có nhiều lớp tồn tại cho WPF bị thiếu trong thư viện WinRT. Nhưng hầu hết các lớp tồn tại cho Silverlight đều có sẵn trong WinRT.

37

WinRT là thay thế cho Winapi. Các api là bản địa, rất không giống như WPF chạy như một lớp trên đầu trang của CLR. Nó chắc chắn giống WPF, một phần của nguyên nhân gây nhầm lẫn. Nó đã thông qua định dạng siêu dữ liệu của mã được quản lý, thay thế các thư viện kiểu cũ. Và sử dụng XAML cho thiết kế giao diện người dùng, giống như WPF, Silverlight và Windows Phone. Bạn vẫn có thể viết các ứng dụng WPF cho Windows 8 nhưng ứng dụng của bạn không thể được xuất bản thông qua cửa hàng, sẽ không tích hợp với máy tính để bàn Metro hoặc nó sẽ chạy trên máy tính bảng dựa trên lõi ARM. Cho dù đó là một vấn đề thực sự phụ thuộc rất nhiều vào việc Metro sẽ làm tốt như thế nào trên thị trường.

10

Windows Runtime (WinRT) là một API thay thế được sử dụng để tạo Ứng dụng Metro (và ứng dụng máy chủ sau này).

API là lớp/phương pháp/cấu trúc dựa trên và hiển thị với ứng dụng .Net metro, ứng dụng html5/css3/javascript và ứng dụng tàu điện ngầm C/C++.

Triển khai có nguồn gốc.

API được hiển thị qua các tệp .winmd, chứa siêu dữ liệu rất giống với siêu dữ liệu bạn có trong hội đồng .Net.

API được thiết kế để bảo mật và không đồng bộ thân thiện với nhiều API yêu cầu sử dụng async/await do chúng có khả năng mất hơn 50msec để thực thi.

Nó bao gồm một tập hợp con các API Win32 và ap apis.

Dù sao ... các nội dung sau liên kết giúp đỡ ... channel9 cũng có một số // Xây dựng/video về chủ đề này ..

Metro phát triển ứng dụng phong cách - http://msdn.microsoft.com/en-us/windows/apps/

Win32 và COM cho phong cách Metro ứng dụng - http://msdn.microsoft.com/en-us/library/windows/apps/br205757(v=VS.85).aspx

API cho Metro ứng dụng phong cách - http://msdn.microsoft.com/en-us/library/windows/apps/br211369(v=VS.85).aspx

2

WinRT là một API không được quản lý dựa trên các giao diện COM. Bạn sử dụng nó bằng cách gọi các đối tượng buit trong các tệp siêu dữ liệu .winmd (Windows \ System32 \ WinMedataData directory).

Tất cả các không gian tên bắt đầu bằng "Windows".

Bạn có thể viết ứng dụng Windows 8 của mình bằng cách sử dụng tệp XAML, nhưng đó là điểm chung duy nhất với WPF.

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