Neste post irei demonstrar como é possivel salvar e abrir arquivos de texto formatado usando o Rich TextBox no Silverlight 4.
Na UI precisamos de um botão para Salvar (btnSave), um botão para Abrir (btnOpen) e um RichTextBox (rtbText)
1: <Button x:Name="btnSave" Click="btnSave_Click" Content="Salvar"/>
2: <Button x:Name="btnOpen" Click="btnOpen_Click" Content="Abrir"/>
3: <RichTextBox x:Name="rtbText" />
Para o método salvar definimos:
1: private void btnSave_Click(object sender, RoutedEventArgs e)
2: {
3: string xaml = rtbText.Xaml;
4: SaveFileDialog sfd = new SaveFileDialog();
5: sfd.DefaultExt = ".sav";
6: sfd.Filter = "Saved Files|*.sav|All Files|*.*";
7: if (sfd.ShowDialog().Value)
8: {
9: using (FileStream fs = (FileStream)sfd.OpenFile())
10: {
11: UTF8Encoding enc = new UTF8Encoding();
12: byte[] buffer = enc.GetBytes(xaml);
13: fs.Write(buffer, 0, buffer.Length);
14: fs.Close();
15: }
16: }
17: }
Neste caso, recuperamos o conteúdo da propriedade Xaml do controle rtbText, ela possui o texto e sua formatação. De posse destes dados, basta salvar o arquivo utilizando um simples FileStream.
Para abrir um arquivo salvo e adiciona-lo ao RichTextBox, basta básicamente fazer o processo inverso, ou seja, abrir um StreamReader e ler o conteúdo do arquivo e adiciona-lo a propriedade Xaml do controle rtbText.
1: private void btnOpen_Click(object sender, RoutedEventArgs e)
2: {
3: OpenFileDialog ofd = new OpenFileDialog();
4: ofd.Multiselect = false;
5: ofd.Filter = "Saved Files|*.sav|All Files|*.*";
6:
7: if (ofd.ShowDialog().Value)
8: {
9: FileInfo fi = ofd.File;
10: using (StreamReader reader = fi.OpenText())
11: {
12: rtbText.Xaml = reader.ReadToEnd();
13: }
14: }
15: }
Com isto, é possivel mostrar um texto formatado salvo diretamente no RichTextBox.
0 comentários :
Postar um comentário