如何将文本框的内容保存到文本文件中

时间:2012-09-27 09:26:42

标签: wpf mvvm textbox openfiledialog

我有一个包含一些内容的文本框。我还有一个按钮(SAVE),它打开FileSaveDialog并允许将内容保存在.txt文件中。

XAML:

<TextBox Height="93" IsReadOnly="True" Text="{Binding Path=ReadMessage, Mode=TwoWay}" Name="MessageRead" />

<Button Content="Save" Command="{Binding Path=SaveFileCommand}" Name="I2CSaveBtn" />

视图模型:

private string _readMessage = string.Empty;
    public string ReadMessage
    {
        get
        {
            return _readMessage;
        }
        set
        {
            _readMessage = value;
            NotifyPropertyChanged("ReadMessage");
        }
    }

public static RelayCommand SaveFileCommand { get; set; }

private void RegisterCommands()
    {            
        SaveFileCommand = new RelayCommand(param => this.ExecuteSaveFileDialog());
    }
private void ExecuteSaveFileDialog()
    {
        //What To Do HERE???
    }

我基本上需要阅读文本框的内容,打开文件保存对话框并将其存储在文本文件中以保存在我的系统中。

2 个答案:

答案 0 :(得分:5)

使用SaveFileDialog你可以沿着这些方向做点什么

string fileText = ReadMessage; 

SaveFileDialog dialog = new SaveFileDialog() 
{ 
    Filter = "Text Files(*.txt)|*.txt|All(*.*)|*" 
}; 

if (dialog.ShowDialog() == true) 
{ 
     File.WriteAllText(dialog.FileName, fileText); 
} 

答案 1 :(得分:1)

尝试这样的事情:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
   saveFileDialog1.Filter = "Text file|*.txt";
   saveFileDialog1.Title = "Save an Image File";
   saveFileDialog1.ShowDialog();

   // If the file name is not an empty string open it for saving.
   if(saveFileDialog1.FileName != "")
   {
 System.IO.File.WriteAllText(saveFileDialog1.FileName, MessageRead.Text);
}