В WPF как реализовать управление загрузкой файлов (текстовое поле и кнопка для просмотра файла)? - PullRequest
3 голосов
/ 02 февраля 2011

У меня есть приложение WPF, MVVM.

Мне нужна функциональность, аналогичная элементу управления «Загрузка файла» в asp.net.

Может кто-нибудь сказать мне, как это реализовать?

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

У меня есть этот xaml ... но как получить это "окно просмотра" при нажатии кнопки?

Ответы [ 2 ]

7 голосов
/ 02 февраля 2011

Вы можете использовать класс OpenFileDialog, чтобы получить диалоговое окно выбора файла.

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

fileDialog.ShowDialog(); 

Чтобы прочитать содержимое: вы получите имя файла из OpenFileDialog и используйте его для выполнения операции ввода-вывода.

 if(fileDialog.ShowDialog() == DialogResult.OK)
  {
     System.IO.StreamReader sr = new 
     System.IO.StreamReader(fileDialog.FileName);
     MessageBox.Show(sr.ReadToEnd());
     sr.Close();
  }
2 голосов
/ 03 февраля 2011
<StackPanel Orientation="Horizontal">
     <TextBox Width="150"></TextBox>
     <Button Width="50" Content="Browse" Command="{Binding Path=CommandInViewModel}"></Button>
</StackPanel>

Объявите команду в вашей модели представления и свяжите ее в представлении, как я сделал внутри кнопки. Теперь вы получите контроль над кодом, как только пользователь нажмет кнопку. В этом коде создайте окно и запустите его. Как только пользователь закроет окно, прочитайте содержимое и делайте что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...