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
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:
- PresentationFramework.Aero
- PresentationFramework.Classic
- PresentationFramework.Luna
- 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.
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);
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.
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.
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.
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
- 1. Làm cách nào để xóa địa chỉ cho Glassfish 4.0 bằng cài đặt mặc định?
- 2. Cách lấy vỏ mặc định
- 3. WPF: Làm thế nào để có mẫu nút tùy chỉnh sử dụng nền nút của hệ thống theo mặc định?
- 4. Làm cách nào để lấy các biến mẫu trong Python?
- 5. Làm cách nào để thay đổi mẫu Visual Studio C# lớp mẫu mới mặc định?
- 6. Mặc định ContextMenu Style - WPF
- 7. Làm thế nào để loại bỏ hiệu ứng chuột mặc định trên các nút WPF?
- 8. Cách/Tìm các kiểu mặc định của Microsoft cho các điều khiển WPF
- 9. Làm cách nào để xóa lề mặc định trên nội dung của một TabItem?
- 10. Có cách nào để thay đổi toàn cầu các hành vi mặc định của các ràng buộc trong wpf không?
- 11. Làm cách nào để đặt kiểu cửa sổ WPF mặc định trong app.xaml?
- 12. Tôi làm cách nào để có bộ chia mặc định?
- 13. Hộp thư WPF Mặc định Để Hủy
- 14. Làm cách nào để thêm giá trị mặc định (ẩn) để tạo mẫu trong Django?
- 15. Làm thế nào để lấy giá trị mặc định TRTTIParamter của
- 16. Cách lấy ActualWidth của một WPF Popup
- 17. Làm cách nào để xác định các trường tùy chọn giá trị mặc định trong biểu mẫu khung phát?
- 18. Làm cách nào để lấy mẫu của mẫu lớp ra khỏi câu lệnh if? (C++)
- 19. Làm thế nào để xây dựng các ứng dụng trình duyệt mặc định trong hệ điều hành Android 4.0
- 20. Có cách nào khác để lấy mẫu mặc định cho một miền địa phương cụ thể không?
- 21. Làm cách nào để sửa đổi các tuyến API Web mặc định của khung công tác?
- 22. Cách đặt .Net 4.0 làm khung mặc định trong MonoDevelop (Unity 3D)
- 23. WPF DatePicker mặc định ngày hôm nay
- 24. Làm thế nào để thay đổi định dạng mẫu Django ngày mặc định?
- 25. Làm cách nào để đặt giá trị mặc định cho thuộc tính dữ liệu cốt lõi trong xcode 4.0?
- 26. Áp dụng kiểu WPF mặc định
- 27. Cách thêm sự kiện trong lịch mặc định của Android 4.0?
- 28. Con trỏ mặc định trong WPF?
- 29. Làm cách nào để đặt giá trị mặc định của biến trong mẫu trực tiếp trong Intellij IDEA?
- 30. WPF Binding chế độ mặc định
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. –