2010-08-19 17 views
10

Tôi đã sử dụng Expression Blend để sao chép các mẫu mặc định cho các điều khiển WPF 4.0. Tôi đang viết một bài viết CodeProject về mở rộng điều khiển WPF, và tôi muốn giới thiệu một công cụ miễn phí như là một thay thế. Bạn đề nghị điều gì? Cảm ơn bạn đã giúp đỡ.Làm cách nào để lấy các mẫu mặc định của WPF 4.0?

Trả lời

5

Trong các phiên bản trước của WPF, kiểu có sẵn tại liên kết MSDN này. Bạn có thể thử thay đổi thành các phiên bản cũ hơn, để xem các liên kết tải xuống. Thật không may, điều này chưa được cập nhật cho .NET 4.0.

Cho đến khi điều đó xảy ra, nếu bạn có thể sử dụng Reflector với plugin BamlViewer. Một khi bạn đã được cài đặt, bạn mở một trong các cụm sử dụng Open Cache:

  1. PresentationFramework.Aero
  2. PresentationFramework.Classic
  3. PresentationFramework.Luna
  4. PresentationFramework.Royale

Đảm bảo chọn phiên bản 4.0.0.0. Sau đó mở rộng assembly và liên kết các nút Resources. Chọn mục nhập tài nguyên và nhấn thanh Space để xem Disassembler. Sau đó, bạn có thể thấy các tệp BAML, bạn có thể xem XAML bằng cách sử dụng BamlViewer. Nhược điểm duy nhất là bạn mất định dạng gốc.

EDIT:

.NET 4 Styles có thể được tải xuống từ here. Cụ thể hơn, liên kết Default WPF Themes trong đoạn thứ hai. Ngoài ra, bạn có thể đi sâu vào các điều khiển cụ thể để xem ví dụ Kiểu.

3

MSDN liệt kê chúng cho các điều khiển Silverlight:
http://msdn.microsoft.com/en-us/library/cc278069(VS.95).aspx

Nhưng tôi không thể tìm thấy một danh sách tương tự cho các điều khiển WPF. Trang WPF tương ứng là trường hợp này và không có gì bí ẩn trong danh sách mẫu:
http://msdn.microsoft.com/en-us/library/ms753328.aspx

Bất kể, bạn có thể lấy mẫu dễ dàng. Từ đây:
http://msdn.microsoft.com/en-us/magazine/cc163497.aspx#S1

Control ctrl = GetControl(); // any type deriving from Control 

XmlWriterSettings settings = new XmlWriterSettings(); 
settings.Indent = true; 
settings.IndentChars = new string(' ', 4); 
settings.NewLineOnAttributes = true; 
StringBuilder strbuild = new StringBuilder(); 
XmlWriter xmlwrite = XmlWriter.Create(strbuild, settings); 

// Save the template to the XAML writer 
XamlWriter.Save(ctrl.Template, xmlwrite); 
8

XamlPadX có một nút "Open/Close Styles Window" cho thấy ít hộp thoại cho phép bạn xem các Styles.

alt text

+0

Thật không may, XamlPadX chưa được cập nhật cho WPF 4.0. Nó không có bất kỳ điều khiển mới nào, chẳng hạn như Lịch. –

0

Xin hãy xem bài viết này: http://eggheadcafe.com/tutorials/aspnet/d1ad0a33-d815-4083-8e97-c234fd661095/wpf-controls-default-style-or-template-by-extending-the-wpf-designer-in-visual-studio-2010.aspx. Tôi đã mở rộng thiết kế WPF để bao gồm việc lấy kiểu hoặc mẫu mặc định thông qua một menu ngữ cảnh của điều khiển được chọn. Chỉ cần xây dựng giải pháp Visual Studio và thiết lập các mục đăng ký để tải siêu dữ liệu. Nhược điểm là định dạng XAML không giống như của Expression Blend.

3

Mẫu kiểm soát cho điều khiển WPF 4.0 hiện có thể được tìm thấy here.

Tuy nhiên, bạn có thể mở rộng hoặc ghi đè mẫu kiểm soát mà không phải sao chép bản gốc, bằng cách sử dụng thuộc tính Style.BasedOn. Nó được giải thích trong this blog post.

0

hoặc cài đặt Expression Blend (thử nghiệm) và đi xuống dưới vị trí:

C:\Program Files\Microsoft Expression\Blend 4\SystemThemes\Wpf 
Các vấn đề liên quan