İpinUcu ~ 82 ~ WPF RichTextBox ile RTF Dosyalarını Açmak ve Kaydetmek

WPF RictTextBox’ın zenginlikleri bize .txt dosyalarında olduğu gibi, .rtf dosyalarında da yapacağını yapıyor. Direk XAML’a geçelim:

<StackPanel>
      <Button Content="_Aç" x:Name="btnAC" Click="btnAC_Click" />
      <Button Content="_Kaydet" x:Name="btnKaydet" Click="btnKaydet_Click" />
      <RichTextBox x:Name="rtfMK" />
</StackPanel>

C# tarafına geçelim:

   private void btnAC_Click(object sender, RoutedEventArgs e)
        {
            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
            dlg.DefaultExt = ".rtf";
            dlg.Filter = "RTF Belgeleri (.rtf)|*.rtf";

            Nullable<bool> sonuc = dlg.ShowDialog();
            if (sonuc==true) rtfMK.Selection.Load(new FileStream(dlg.FileName, FileMode.Open), DataFormats.Rtf);
        }
  private void btnKaydet_Click(object sender, RoutedEventArgs e)
        {
            TextRange range;
            FileStream fStream;
            range = new TextRange(rtfMK.Document.ContentStart, rtfMK.Document.ContentEnd);
            fStream = new FileStream("c:\\mehmet kaplan.rtf", FileMode.Create);
            range.Save(fStream, DataFormats.Text);
            fStream.Close();
        }

Kaydet işleminde de SaveFileDialog kullanabilirsiniz.

Haydi kolay gelsin.

Reklamlar

İpinUcu ~ 66 – WPF RichTextBox ve TextBlock

WPF’teki RichTextBox’ın TextBlock yerine kullanılmasının en büyük nedeni, biçimlendirmede getirdiği zenginliklerdir. Aşağıdaki Xaml kodları ve ekran görüntüsünden ne anlatmaya çalıştığım daha iyi anlaşılacaktır:

<TextBlock Text=”mehmet kaplan” Width=”100″ Height=”30″ Margin=”10″/>

<RichTextBox Width=”200″ Height=”100″ Margin=”156,159,147,52″>

<FlowDocument>

<Paragraph>  Riç tekst baksın farkı <Italic> bu tür özelleştirmeler yapmaya olanak sağlaması.</Italic>                    <Bold> elbette bununla da sınırlı değil. </Bold>

<Underline>Bununla da sınırlı değil. :]</Underline>

Bu örnekler çoğaltılabilir.                </Paragraph>

</FlowDocument>

</RichTextBox>

%d blogcu bunu beğendi: