2011-10-23 31 views
39

http://i.minus.com/i3xuoWZkpfxHn.pngHộp thoại bộ chọn tệp trong WPF ở đâu?

Tôi không thấy bất cứ điều gì cho phép tôi chọn tệp từ máy tính của mình ... phải có một tệp, ở đâu? Tôi có lẽ thiếu một tham chiếu?


Edit: Những gì tôi có trong tâm trí là một hộp với một nút "Browse" bên cạnh nó. Nó xảy ra với tôi bây giờ mà tôi có thể phải đặt hộp văn bản và nút duyệt bản thân mình và thêm một sự kiện bấm vào nút để mở hộp thoại ...

+0

Link là bị hỏng. – TobiMcNamobi

+0

@TobiMcNamobi Yeah ... chắc chắn rồi. Lấy làm tiếc. Không thể tìm thấy nó trong bất kỳ kho lưu trữ nào. – mpen

Trả lời

47

Không có điều khiển tích hợp có hộp văn bản với [ Duyệt] nút bên cạnh nó. Bạn phải tự mình thiết lập.

Đối với hộp thoại "tệp đang mở", có OpenFileDialog in Microsoft.Win32 namespace.

+3

Ngoài sự tò mò, OpenFileDialog trong không gian tên Microsoft.Win32 khác với không gian tên System.Windows.Forms như thế nào? –

+6

@MattBridges Tôi tin rằng về cơ bản phiên bản WPF của hộp thoại WinForms không yêu cầu tham chiếu System.Windows.Forms.dll. –

4

Tôi thường chỉ sử dụng OpenFileDialog trong không gian tên System.Windows.Forms. Tôi bí danh nó bằng cách sử SWF, và sau đó nó chỉ trở nên

SWF.OpenFileDialog o = new SWF.OpenFileDialog(); 
19

Đối với một câu trả lời hoàn chỉnh tính năng hơn, giả sử bạn có một nút BtnFileOpen và một textbox TxtFile. Trước tiên, bạn cần tham khảo assembly System.Windows.Forms từ hộp thoại tham chiếu (đảm bảo rằng bạn đánh dấu chọn nó, nhấp đúp vào nó dường như không thêm nó cho tôi).

Bên trong sự kiện nhấn nút:

private void BtnFileOpen_Click(object sender, RoutedEventArgs e) 
{ 
    var fileDialog = new System.Windows.Forms.OpenFileDialog(); 
    var result = fileDialog.ShowDialog(); 
    switch (result) 
    { 
     case System.Windows.Forms.DialogResult.OK: 
      var file = fileDialog.FileName; 
      TxtFile.Text = file; 
      TxtFile.ToolTip = file; 
      break; 
     case System.Windows.Forms.DialogResult.Cancel: 
     default: 
      TxtFile.Text = null; 
      TxtFile.ToolTip = null; 
      break; 
    } 
} 

Nếu bạn đã cài textbox của bạn để người khuyết tật có thể bạn muốn chỉnh sửa XAML bạn để bao gồm

ToolTipService.ShowOnDisabled="True"

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