Püf Noktası #100 - Silverlight Open File Dialog

Cumartesi, 10 Nisan 2010 10:38 by ikivanc
Silverlight uygulaması içerisine bilgisayarımızda olan verileri OpenFileDialog ile alabiliriz.

Şimdi bir önceki püf noktasındaki silverlight projesi içerisine bir de aç butonu koyalım ve bu buton'a tıklandıktan sonra textbox içerisine metin dosyasındaki yazıyı alalım.

Bu eklemenin XAML kodu

<Button x:Name="button_ac" Margin="0,71,77,0" Content="" 
         Width="90" Height="25" Click="button_ac_Click"/>

C# kodu da aşağıdaki gibi olacaktır.

private void button_ac_Click(object sender, System.Windows.RoutedEventArgs e)
{
    OpenFileDialog dosyaacma = new OpenFileDialog();
 
    dosyaacma.Filter = "Metin Belgeleri (.txt)|*.txt|Tüm Dosyalar|*.*";
    dosyaacma.FilterIndex = 1;
 
    bool? ret = dosyaacma.ShowDialog();
    if (ret == true)
    {
        Stream dosyaStream = dosyaacma.File.OpenRead();
        StreamReader dosyaoku = new StreamReader(dosyaStream);
 
        textbox_girilen.Text = dosyaoku.ReadLine();
        dosyaStream.Close();
    }
}


Bu sayede görüldüğü gibi masaüstündeki herhangi bir metni uygulamamız içerisine alabiliriz. Sadece text olarak düşünmeyin bir fotoğraf, bir ses dosyası da uygulamanın içerisine alınabilir.

Kolay gelsin.

Erciyes Üniversitesi Silverlight Eğitim

Perşembe, 18 Mart 2010 12:23 by ikivanc
Arkadaşlarlar geçtiğimiz Cumartesi günü 1. ve 2. sınıftaki arkadaşların isteği üzerine Silverlight anlatıp bir giriş yapmıştık. Çoğu arkadaş bu etkinlikten haberinin olmadığından yakındı.

Yarın (19.03.2010 Cuma Günü) saat 1'den 3'e kadar, hızlı bir özet ile beraber, Silverlight ile uygulama geliştirme olaylarını anlatacağım.

Öğrencilik sürecindeki son eğitimim Bu son eğitim olacağı için katılmanızı tavsiye ederim; İlgili arkadaşları Erciyes Üniversitesi Bilgisayar Mühendisliği bölüm katındaki birleştirilmiş büyük sınıfa bekleriz.

Öğrencilik sürecindeki bilişim kulübü altında son eğitimim olması itibari ile jübileme herkesi bekliyorum :D

iletişim: ik@ibrahimkivanc.com

Püf Noktası #75 - Silverlight Image Boyutlandırma

Salı, 16 Mart 2010 14:26 by ikivanc
Silverlight içerisinde fotoğrafların ve resimlerin orantılanması için Image nesnemizin Stretch özelliğini kullanırız.

"None" görüntünün orjinal boyutları ne ise image nesnesininde sadece orjinal boyutunu gösterir.

"Fill" image nesnesinin boyutu ne olursa olsun yükseklik ve genişliğine göre uzatır

"Uniform" yükseklik veya genişlikten hangisi oran olarak küçük ise ona göre orantılı şekilde görüntüyü boyutlandırır.

"UniformToFill" yükseklik ve genişlikten hangisi oran olarak büyük ise ona göre orantılı şekilde görüntüyü boyutlandırır.


Stretch'in XAML tarafında tanımlanması da aşağıdaki gibidir.

<Image x:Name="mühmat" Source="fotolar/11.JPG" Height="204" 
       VerticalAlignment="Top" HorizontalAlignment="Left" Width="356" 
       d:LayoutOverrides="HorizontalAlignment" Stretch="None" 
       Margin="-62,117,0,0"/>

C# tarafında tanımlanması da aşağıdaki gibidir.

mühmat.Stretch = Stretch.Uniform;

Böylelikle image bileşeninin stretch özelliğini kullanarak orjinal boyutlarından farklı ama orantılı görüntüler elde edebiliriz.

Kolay gelsin.

Püf Noktası #74 - Silverlight Texbox Kelime Kaydırma

Pazar, 14 Mart 2010 14:15 by ikivanc
Silverlight projelerinde, textbox bileşenini kullanırken içeriğindeki yazıların textbox'ın genişliğinden taştığı durumlarda kaydırma olup olmayacağını TextWrapping seçeneği ile düzenleyebiliriz.


Yukarıda görüldüğü gibi text sığmadığı zaman otomatik olarak kaydırma ayarı ile gelir Bu özelliğe erişmek için Text seçeneğinin altında, TextWrapping özelliği bulunur. Wrap seçeneği aktif olduğunda kaydırma meydana gelir. Bu durum XAML Kodunda

<TextBlock x:Name="textbox_wrap" Width="248" TextWrapping="Wrap"
  Height="52" Text="Microsoft Teknolojileri ile 365 günde 365 püf nokta" />

şeklinde. C# tarafında da

textbox_wrap.TextWrapping = TextWrapping.Wrap;

şeklindedir.

Eğer yazımızda kaydırma istemiyorsak bunun için de NoWrap seçeneğini seçebiliriz. Bu durum için XAML kodu

<TextBlock x:Name="textbox_wrap" Width="248" TextWrapping="NoWrap"
  Height="52" Text="Microsoft Teknolojileri ile 365 günde 365 püf nokta" />

şenkinde, C# tarafında da

textbox_wrap.TextWrapping = TextWrapping.NoWrap;

şeklindedir. 
 

Kolay gelsin.

Püf Noktası #73 - Silverlight Bağımsız Proje Düzenleme

Pazar, 14 Mart 2010 14:13 by ikivanc
Blend içerisinde geliştirdiğimiz silverlight projemizi Püf Noktası 11 de nasıl senkronize bir şekilde visual studio ile kısayoldan açılır onu görmüştük.

Expression Blendden bağımsız, senkronize olmadan sadece visual studio içerisinde açmak için Projemize sağ tıkladıktan sonra "Edit Externally" diyerekten direkt olarak visual studio'da blendden bağımsız bir şekilde geliştirme yapabiliriz.


Haricen geliştirme yaptığımız zaman herhangi bir değişiklik yaptığımız zaman senkronize bir şekilde blend içerisinde onaylama sorgusu gelmeyecektir.

Kolay gelsin.

Püf Noktası #72 - Silverlight Proje Klasörüne Erişim

Cumartesi, 13 Mart 2010 10:50 by ikivanc
Blend içerisinde, Silverlight projelerinin bulunduğu konuma erişmek için projemize sağ tıklayarak "Open Folder in Windows Explorer" seçeneği ile bulundukları konuma erişebiliriz.


Bu kısayol sayesinde rahatlıkla proje klasörüne erişebiliriz.

Kolay gelsin.

Püf Noktası #71 - Silverlight Boyut Resetleme

Cuma, 12 Mart 2010 13:32 by ikivanc
Silverlight içerisinde çeşitli nesneleri boyutlarında değişiklik yaptıktan sonra ilk hallerini almalarını istiyorsak Reset özelliğini kullanırız. Özellikle Image nesnelerinin boyutlarını ilk durumlarından değiştirdikten sonra boyutlamada hata oluştuysa eski hallerini almaları için Reset'i kullanabiliriz.


Bu özellik sayesinde image nesnelerinin ilk boyutlarına geri getirmek için, görüntünün pixel olarak boyutların araştırmaya veya yeniden image nesnesini projemize import etmemize gerekmez.

Kolay gelsin.

Püf Noktası #70 - Silverlight Proje Yedeği Alma

Perşembe, 11 Mart 2010 10:50 by ikivanc
Yazılım geliştirmede önemli noktalardan birisi; geliştirdiğimiz projeyi belirli süreçler geçirdikten sonra projemizin yedeğini almamızdır. Olası bir aksilik veya çözülmez bir hata karşısında projemizde kayıbımızı en aza indirmek için bir önceki yedekten devam edebiliriz.

Yedekleme konusunda Blend içerisinde çok pratik bir yol mevcut. "File" menüsünün altında "Save Copy of Project" seçeneği bulunur.


Bu seçeneği seçtikten sonra istediğimiz yere projemizin yedeğini rahatlıkla alabiliriz.


Bu şekilde yedekler alarak projenin gelişimini daha güvenli ve en az kayıpla gerçekleştirebiliriz.

Kolay gelsin.

Püf Noktası #69 - Silverlight Sayfayı Kaplama Sorunu

Çarşamba, 10 Mart 2010 10:54 by ikivanc
Silverlight projeleri içerisinde, bir önceki püf noktasındaki sayfayı otomatik kaplama özelliği kullanılınca Blend içerisinde sayfanın tasarım ekranı, minimum boyuta düşer. Bu durum bizim çalışmamıza engel teşkil edebilir.

Bu durumu düzeltmek için Blend içerisinde sayfa tasarımının köşesinde bulunan "Adjust to modify the design time-size" noktalardan sürükleyerek istediğimiz genişlikte tasarım ekranını genişletebiliriz.


Bu şekilde Blend içerisinde sayfamız hem otomatik olarak sayfayı kaplar hemde tasarım anında istediğimiz boyutlarda görebiliriz.

Kolay gelsin.

Püf Noktası #68 - Silverlight Sayfayı Kaplama

Salı, 9 Mart 2010 11:03 by ikivanc
Silverlight içerisinde oluşturduğumuz projeler otomatik olarak 640x480 pixel boyutlarında olurlar, projeyi çalıştırdığımız zaman sayfanın içeriği tamamen silverlightmış gibi görünür fakat projemizin bulunduğu kısım 640x480 pixellik boyutta olan kısımdır.

Bu durum özellikle arka plan olarak farklı bir şeyler yaptığımız zaman kendini belli eder.


Bu sorunu gidermek için sayfanın boyutlarının sağ tarafında bulunan "Set to Auto" tuşuna tıklayabiliriz. 


Bunu tıkladıktan sonra yükseklik ve genişlik otomatik olarak sayfa boyutlarına göre ayarlanır.

Kolay gelsin.