2010-02-08 7 views
5

Tôi thường cần hiển thị một danh sách tệp cho người dùng, chẳng hạn như kết quả của truy vấn tìm kiếm.Có một điều khiển WPF sẽ hiển thị danh sách các tệp trong chế độ xem giống như Explorer không?

Thông thường tôi mô tả DataTemplate đơn giản của riêng mình cho FileInfo. Nhưng tôi lười để tái triển khai tất cả chức năng của Explorer: các Chế độ xem, Sắp xếp, Biên mục ngữ cảnh và kéo thả &.

Tôi cảm thấy vấn đề là phổ biến và ai đó đã lắp ráp một thư viện tốt cho mục đích này.

+0

Tôi vừa xem xét điều khiển FileView của LogicNP, nhưng dường như không cho phép chỉ định danh sách tệp tùy chỉnh. –

+0

Từ trang web của LogicNP: "Hỗ trợ các mục tùy chỉnh (ví dụ: bản ghi cơ sở dữ liệu) ngoài các mục shell chuẩn (tệp, thư mục, vị trí UNC, máy in, v.v.)". Nhưng tôi chưa tải xuống để xem – jeffora

+0

Nội dung trả lời yêu cầu hỗ trợ của tôi: "Cảm ơn bạn đã dành thời gian đánh giá sản phẩm của chúng tôi." FileView không thể hiển thị các mục từ nhiều thư mục cùng một lúc.Bạn có thể sử dụng AddCustomItem cho việc này, nhưng bạn sẽ phải chỉ định tên hiển thị, biểu tượng, v.v. " –

Trả lời

5

Bạn đã kiểm tra Windows API CodePack nó có một số mẫu WPF với chức năng khám phá.

2

Bạn có thể xem qua các điều khiển trong Shell MegaPack: điều khiển này FolderView và điều khiển này FileView.

Hoặc xem qua điều này article và kiểm soát.

+0

FileView của LogicNP không cung cấp cách tiện dụng để làm việc với danh sách tệp tùy chỉnh. Để giải quyết vấn đề này, bạn có thể thêm các phần tử vào điều khiển * và * triển khai nhấp chuột phải và kéo và thả lại. –

+0

Thành phần gần nhất do Actipro cung cấp là DataGrid. Hay ... tôi đang thiếu một cái gì đó? –

+0

Xin lỗi về Actipro. Tôi chỉnh sửa câu trả lời của tôi, có thể connrol trong bài viết này giúp bạn. – Sonorx

1

Windows Api Code Pack đi kèm với điều khiển người dùng (ExplorerBrowser) mà bạn có thể sử dụng trực tiếp trong ứng dụng của mình.

+0

ExplorerBrowser rất tuyệt. Làm cách nào để chỉ định danh sách các tệp (hoặc ShellItems)? Có một phương thức Navigate(), nhưng tôi cần hiển thị kết quả từ một tìm kiếm tùy chỉnh. –

+0

@modosansreves: Tôi đã không sử dụng bản thân kiểm soát để tôi không thể giúp đỡ điều đó. Vui lòng đăng các phát hiện của bạn một khi bạn tìm ra nó vì tôi tin rằng nó sẽ rất thú vị cho những người khác – Giorgi