在WPF中,如何实现文件上载控件(文本框和浏览文件的按钮)?
我有一个WPF,MVVM应用程序 我需要与asp.net中的“文件上载”控件相同的功能 有人能告诉我如何实施吗在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
<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>