2011-10-23 104 views
39

http://i.minus.com/i3xuoWZkpfxHn.pngWPF中的文件選擇器對話框在哪裏?

我沒有看到任何可以讓我從我的電腦挑選的文件...必須有一個,它在哪裏?我可能錯過了一個參考?


編輯:我腦子裏想的是什麼與它旁邊有一個「瀏覽」按鈕,一個文本框。它現在發生在我身上,我可能必須放置文本框和瀏覽按鈕我自己,並添加一個單擊事件按鈕打開對話框...

+0

鏈接斷開。 – TobiMcNamobi

+0

@TobiMcNamobi是的...當然可以。抱歉。無法在任何檔案中找到它。 – mpen

回答

47

沒有內置的控件具有文本框與[瀏覽]按鈕旁邊。你必須自己設定。

對於「打開文件」對話框本身,有OpenFileDialog in Microsoft.Win32 namespace

+3

出於好奇,Microsoft.Win32命名空間中的OpenFileDialog與System.Windows.Forms命名空間中的OpenFileDialog不同? –

+6

@MattBridges我相信它基本上是不需要引用System.Windows.Forms.dll的WinForms對話框的WPF版本。 –

4

我通常只使用System.Windows.Forms命名空間中的OpenFileDialog。我別名它使用SWF,然後它只是變得

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

對於一個功能更完整的答案,假設你有一個按鈕BtnFileOpen和一個文本框TxtFile。首先,您需要從引用對話框中引用System.Windows.Forms程序集(請確保選中該標記,雙擊它似乎不會爲我添加它)。

裏面的按鈕單擊事件:

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; 
    } 
} 

如果您在文本框設置爲禁用您可能希望編輯您的XAML包括

ToolTipService.ShowOnDisabled="True"

相關問題