問題がRichTextBox
あり、ドキュメントの内容をテキスト ファイルに保存したいと考えています。そのために、次のコードを使用します。
XAML
<RichTextBox Grid.Row="0" x:Name="myRichTextBox" AcceptsTab="True" Margin="20">
<FlowDocument>
<Paragraph>
<Run>Some Paragraph</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
Code
private void btnSaveToTxt_Click(object sender, RoutedEventArgs e)
{
string fileName = @"D:\testRichTextBox1Text.txt";
SaveToTextFile(fileName);
MessageBox.Show("Text File Saved");
}
public void SaveToTextFile(string fileName)
{
TextRange range;
FileStream fileStream;
range = new TextRange(myRichTextBox.Document.ContentStart,
myRichTextBox.Document.ContentEnd);
fileStream = new FileStream(fileName, FileMode.Create);
range.Save(fileStream, DataFormats.Text);
fileStream.Close();
}
このコードは問題なく機能しますが、MVVM
. このアプローチには、RichTextBox の x:Name="myRichTextBox" プロパティが必要です。ICommand
メソッドを呼び出すためにバインドすることを考えていましたSaveToTextFile()
が、RichTextBox の Name プロパティがないと機能しません。
MVVM でこれを行う方法はありますか? ありがとう!