Silverlight 3 - SaveFileDialog

Pazar, 22 Mart 2009 16:45 by ikivanc
Bu yazımızda Silverlight 3 ile birlikte SaveFileDialog kullanımına göz atalım.
İlk olarak yeni bir proje açalım ve proje içerisine metin girilmek için bir textbox ve kaydetmek için bir button ekleyelim.



Projemizin xaml kodları aşağıdaki gibi olacak
MainControl.xaml

  <UserControl

      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

      x:Class="SaveDialog.MainControl"

      Width="416" Height="152">

          <Grid x:Name="LayoutRoot" Background="White">

              <Button x:Name="button_kaydet" Margin="0,71,77,50" Content="Kaydet" Width="90" HorizontalAlignment="Right""button_kaydet_Click"/> Click=

              <TextBox x:Name="textbox_girilen" Height="30" Margin="79,37,77,0" VerticalAlignment="Top" Text="Metin giriniz...""Wrap"/> TextWrapping=

          </Grid>

  </UserControl>


Projemizin C#kodları aşağıdaki gibi olacak

MainControl.xaml.cs

    1 using System;

    2 using System.Windows;

    3 using System.Windows.Controls;

    4 using System.Windows.Documents;

    5 using System.Windows.Ink;

    6 using System.Windows.Input;

    7 using System.Windows.Media;

    8 using System.Windows.Media.Animation;

    9 using System.Windows.Shapes;

   10 using System.IO;

   11 using System.Text;

   12 

   13 namespace SaveDialog

   14 {

   15     public partial class MainControl : UserControl

   16     {

   17         public MainControl()

   18         {

   19             // Required to initialize variables

   20             InitializeComponent();

   21         }

   22 

   23         private void button_kaydet_Click(object sender, System.Windows.RoutedEventArgs e)

   24         {

   25             SaveFileDialog dosyakaydetme = new SaveFileDialog();

   26             dosyakaydetme.Filter = "Metin Belgeleri (.txt)|*.txt|Tüm Dosyalar|*.*";

   27             dosyakaydetme.FilterIndex=1;

   28             bool? ret=dosyakaydetme.ShowDialog();   

   29             if (ret==true)

   30             {

   31                 using(Stream fs = (Stream)dosyakaydetme.OpenFile())

   32                 {

   33                     byte[] metin = (new UTF8Encoding(true)).GetBytes(textbox_girilen.Text);

   34                     fs.Write(metin,0,metin.Length);

   35                     fs.Close();

   36                 }

   37             }

   38         }

   39     }

   40 }


"System.IO" ve "System.Text" namespace'lerini ekleyerek metin işlemlerini ve SaveFileDialog işlemlerini gerçekleştirebiliriz. Dialog penceresinin gösterilmesini bool bir değere bağlayarak kaydetmek istediğimiz metni buna bağlı hale getirdik ve metin içeriğini UTF8 formatında kaydederek saklamamızı sağlayacak.
Ayrıca kaydetmek istediğimiz türü belirlemek için de 2 farklı filtre oluşturduk.


Metni girip kaydet'e bastığımız zaman SaveFileDialog penceremiz geldi. SaveFileDialog'a Filter eklememizle birlikte metin kaydetmemiz daha da kolaylaştı.


Kaydettiğimiz metin dosyasının içeriği kaydetmek istediğimiz metin ile aynı, başarı ile kaydedildi. SaveFileDialog'u istediğimiz şekilde modifiye ederek projede istediğimiz gibi kullanabiliriz.

Takıldığınız, sormak istediğiniz veya düzeltmek istediğiniz yerleri ibrahim.kivanc@msakademik.net mail adresime iletebilirsiniz.

Yorumlar

Yorum ekle


 

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading