在WPF中,如何实现文件上载控件(文本框和浏览文件的按钮)?

在WPF中,如何实现文件上载控件(文本框和浏览文件的按钮)?,wpf,mvvm,file-upload,Wpf,Mvvm,File Upload,我有一个WPF,MVVM应用程序 我需要与asp.net中的“文件上载”控件相同的功能 有人能告诉我如何实施吗 <StackPanel Orientation="Horizontal"> <TextBox Width="150"></TextBox> <Button Width="50" Content="Browse"></Button> </StackPanel

我有一个WPF,MVVM应用程序

我需要与asp.net中的“文件上载”控件相同的功能

有人能告诉我如何实施吗

 <StackPanel Orientation="Horizontal">
                <TextBox Width="150"></TextBox>
                <Button Width="50" Content="Browse"></Button>
</StackPanel>


我有这个xaml…但是当你点击按钮时,如何拥有“浏览窗口”?

你可以使用OpenFileDialog类来获得一个文件选择对话框

OpenFileDialog fileDialog= new OpenFileDialog(); 
fileDialog.DefaultExt = ".txt"; // Required file extension 
fileDialog.Filter = "Text documents (.txt)|*.txt"; // Optional file extensions

fileDialog.ShowDialog(); 
阅读内容:您将从OpenFileDialog获取文件名,并使用该文件对其执行IO操作

 if(fileDialog.ShowDialog() == DialogResult.OK)
  {
     System.IO.StreamReader sr = new 
     System.IO.StreamReader(fileDialog.FileName);
     MessageBox.Show(sr.ReadToEnd());
     sr.Close();
  }


在视图模型中声明一个命令,并在视图中绑定它,就像我在按钮内部所做的那样。现在,一旦用户单击按钮,您将在代码中获得控制权。在该代码中,创建一个窗口并启动它。一旦用户将关闭窗口,阅读内容并执行任何您想要的操作

DialogResult.OK
不存在,但我让它与
bool一起工作?res=fileDialog.ShowDialog();如果(res.HasValue&&res.Value){…}
注意,如果您使用的是System.Windows.Forms,则DialogResult.OK确实存在,您可以使用它,但由于这是WPF,您通常会使用Microsoft.Win32。
<StackPanel Orientation="Horizontal">
     <TextBox Width="150"></TextBox>
     <Button Width="50" Content="Browse" Command="{Binding Path=CommandInViewModel}"></Button>
</StackPanel>