Arşiv

Sitemde artık silverlight ve WPF makalelerine de ağırlık vermenin zamanı geldi diye düşünüyorum. En temelden başlayarak anlatacağım İnşaAllah.

İlk örneğimizi yapalım. Örneğimizde bir buton yerleştirerek butona tıkladığımız anda ekrana bir mesaj penceresi gelmesini sağlayalım. Öncelikle Visual Studio. NET İçerisinde File / New Project seçeneklerini tıklayalım. Karşımıza gelen pencerede Silverlight seçeneği altındaki Silverlight Application’ı seçelim.

 

C#

Daha sonra karşımıza Silverlight Application ile ilgili bir ayar penceresi gelecektir. Buradan “Automatically generate a test page to host Silverlight at build time” seçeneğini seçiyoruz.

Add Application

Karşımıza Silverlight proje geliştirme ortamı gelecektir. Burada Solution Explorer’ı incelediğimizde projemizde yüklü olan dosyaların listelendiğini görürüz;

Solution Explorer

Tasarım dosyalarının uzantıları xaml iken, kod dosyalarının uzantısı ise C# kullandığımızdan dolayı cs’dir. Eğer VB.NET kullansa idik kod dosyalarının uzantısı vb olurdu. Bu dosyalardan;

App.xaml ve App.xaml.cs :  Silverlight uygulamamızı düzenlemek için kullanılan dosyalardır.  

Page.xaml vePage.xaml.cs : Kullanıcı arabiriminin tasarım ve kod dosyalarıdır.

Tasarım sayfamız üzerine bir buton ekleyelim. Page.xaml kodları aşağıdaki gibidir:

<UserControl x:Class="ilksilverlight.Page"

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

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

    Width="400" Height="300">

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

        <Button Height="23" Margin="88,0,115,62" Name="cmdyenipencere" VerticalAlignment="Bottom" Content="Tıkla"></Button>

    </Grid>

</UserControl>

 

Butonumuza tıklama olayını eklemek için  Name özelliğinden sonra Click= yazdığımızda Event Handler özelliğinin aktifleştiğini görürüz.

 

Event Handler

Event Handler’a tıkladığımızda click olayının aşağıdaki gibi düzenlendiğini görürüz:

<Button Height="23" Margin="88,0,115,62" Name="cmdyenipencere" Click="Button_Click" VerticalAlignment="Bottom" Content="Tıkla"></Button>

 

Ekleyeceğimiz nesneler kodumuzda da görüldüğü gibi  <Grid> < /Grid> arasına yazılırlar. Name özelliği ile butonumuzun ismini belirlerken, Content özelliği ile butonumuzun üzerinde görünecek yazıyı belirleriz.   Page.xamls.cs  dosyası içerisine

private void Button_Click(object sender, RoutedEventArgs e)

        {

           

        }

Satırlarının otomatik olarak eklendiğini görürüz. Page.xamls.cs  dosyasının kodu tam olarak aşağıdaki şekli almaktadır;               

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

 

namespace ilksilverlight

{

    public partial class Page : UserControl

    {

        public Page()

        {

            InitializeComponent();

        }

 

        private void Button_Click(object sender, RoutedEventArgs e)

        {

            MessageBox.Show("İlk Silverlight Programımız Hayırlı Olsun"); 

        }             

    }

}

 

Etiketler : Silverlight C#
Kategoriler : C# Silverlight
Yorumlar : 0 Yorum Yorum Yaz

Microsoft'un daha önce üniversiteler için başlatmış olduğu DreamSpark programı nihayet liseleri de kapsayacak şekilde genişletildi. Bu program ile öğrencilerimiz kendilerine verilen şifreler ile istedikleri microsoft ürünlerini tam sürüm olarak https://www.dreamspark.com/Default.aspx adresinden indirebilecekler. Bu çerçevede okulumuz adına başvuruda bulunarak 200 adet aktivasyon kodu aldım.

Yapmanız gereken Dreamspark sitesine hotmail ya da msn adresiniz ile giriş yaparak benden alacağınız aktivasyon kodunu girmek. Daha sonra istediğiniz ürünü indirebilirsiniz.

Ancak bunun akademik amaçlı olup, indireceğiniz yazılımları kopyalayarak dağıtmamanızı söylemeyi de unutmayayım.

Aktivasyon kodu almak isteyen öğrencilerimiz bana başvuruda bulunabilirler.

Etiketler : DreamSpark
Kategoriler : Duyurular
Yorumlar : 12 Yorum Yorum Yaz

Projemiz yüklenirken çalıştırmak istediğimiz bir kodu Application.xaml  dosyası içerisinde startup olayına yazarız. Bunun için StartupUri="Window1.xaml" içerisinde StartupUri="Window1.xaml" kodunu bulup bu kodun hemen arkasında iken boşluk tuşuna basalım.   Intellisense desteği sayesinde biz boşluk tuşuna basar basmaz koda ekleyebileceğimiz olaylar ve metodlar burada listelenecektir.

WPF Intellisense

Biz burada Startup olayını seçeceğiz. Startup olayını yazdığımızda event handler’in aktifleştiğini görürüz. Tab tuşuna basarak ya da fare ile event handler üzerine tıklayarak olay ile ilgili vb.net kodunun otomatik olarak yazılmasını sağlarız.

WPF Event Handler

Üstteki resimde görülen event handler üzerinde işlem yapıldıktan sonra Application.xaml.vb dosyası içerisine aşağıdaki kod otomatik olarak yazılacaktır.

Private Sub Application_Startup(ByVal sender As System.Object, ByVal e As System.Windows.StartupEventArgs)

 

End Sub

Biz örneğin startup olayında bir msgbox ile bir mesaj görüntületelim.

Class Application

    ' Application-level events, such as Startup, Exit, and DispatcherUnhandledException

    ' can be handled in this file.  

    Private Sub Application_Startup(ByVal sender As System.Object, ByVal e As System.Windows.StartupEventArgs)

        MsgBox("Güzel gören güzel düşünür. Güzel düşünen hayatından lezzet alır.")

    End Sub

End Class

 

Projemizi çalıştırdığımızda ilk olarak mesaj penceresi ile belirtilen mesaj ekrana gelecektir.

 

Proje sonlanırken bir kod çalıştırmak için ise Application. xaml dosyası içerisinde yukarıdaki işlemde yaptığımız startup olayını eklediğimiz kısma Exit="Application_Exit" olayını eklemeliyiz.

Çıkış için de bir mesaj penceresi görüntületelim:

 

Private Sub Application_Exit(ByVal sender As System.Object, ByVal e As System.Windows.ExitEventArgs)

        MsgBox("Hayırlı günler")

End Sub

 

Eğer işletim sistemi tarafından LogOff ,Windows Shutdown, Restart ve Hibernate  olaylarından biri gerçekleştirilirse SessionEnding metodu tetiklenir. Bu olayları Application nesnesinin SessionEnding metodu içerisinde kodlayabiliriz.

Uygulamamızı bilinçli olarak sonlandırmak için Application sınıfının Shutdown metodu kullanılabilir. Uygulamamızın içerisindeki ShutDown metodunun hangi durumlarda otomatik olarak çalışacağı ShutdownMode özelliği yardımıyla değiştirilebilir. ShutdownMode özelliği

-OnLastWindowClose

-OnMainWindowClose

-OnExplicitShutDown

şeklinde 3 değer alır.

-OnLastWindowClose: Eğer projemizde birden fazla pencere varsa son pencere kapatıldığında uygulama sonlanır.

-OnMainWindowClose: Ana pencere kapatıldığında uygulama sonlanır.

-OnExplicitShutDown: Uygulamanın kapatılması kullanıcıya bağlıdır.

 ReasonSessionEnding özelliği ise Logoff veya Shutdown değerlerini alır. SessionEndingEventArgs’ ın bir diğer özelliği olan Cancel özelliğine atanan değere göre de Shutdown veya Logoff’ dan vazgeçilmesi sağlanabilir.

 

Öncelikle Application.xaml dosyası içerisine SessionEnding="Application_SessionEnding" olayını ekleyelim.   

Application.xaml.vb dosyası içerisine ise şu kodu yazalım:

 

Private Sub Application_SessionEnding(ByVal sender As System.Object, ByVal e As System.Windows.SessionEndingCancelEventArgs)

        Dim soru As MessageBoxResult = MessageBox.Show("Bilgisayar " + e.ReasonSessionEnding.ToString() + " nedeniyle kapatılıyor. İptal etmek ister misiniz?", "Kapatma Sorusu", MessageBoxButton.YesNo, MessageBoxImage.Question)

        If soru = MessageBoxResult.No Then e.Cancel = True

End Sub

 Proje Dosyasının linki:

http://www.volkanaktas.com/PrgDosya/wpf/Wpf_formolayları.rar

Etiketler : WPF
Kategoriler : VB.Net WPF/WCF
Yorumlar : 0 Yorum Yorum Yaz

Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1

Silverlight™ 3 SDK Beta 1

Blend 3 Preview

Küçük bir hatırlatma:

Silverlight 3'ü yüklediğinizde artık Silverlight 2 projeleri gerçekleştiremiyeceksiniz.

Peki ne gibi yenilikler getiriyor bize. Daron Yöndem şu şekilde sıralamış bu yenilikleri:

•Multitouch desteği geliyor. (Sadece Windows 7'de)
•MPEG, AAC, H.264 desteği geliyor. İsterseniz kendi codec mekanizmanısı da yazabiliyorsunuz.
•IIS Media Services üzerinden Smooth Streaming'in Live sürümü geliyor. Artık canlı yayında da bant genişliği yayın esnasında dinamik olarak değiştirilebiliyor.
•İş uygulamaları için Data kontrolleri geliyor...
•.NET RIA Services ile Silverlight ve ASP.NET arasındaki veri bağlantısı kolaylaştırılıyor.
•Offline çalışma desteği geliyor. Artık herhangi bir Silverlight uygulamasını Desktop'a normal program gibi alabiliyorsunuz. Mac'te de aynı şekilde çalışıyor. Kendini otomatik update ediyor vs vs :)
•SaveFileDialog ve bir çok yeni kontrol geliyor; WrapPanel, DockPanel, ViewBox, AutoCompleteBox, TreeView, Label...
•Lokalde Assembly önbellekleme desteği geliyor.
•Easing kütüphanaleri ve text animasyonları geliyor.
•Pixel Shader efektleri geliyor; DropShadow vs... Kendi efektinizi yazabiliyorsunuz.
•Perspective 3D!
•GPU destekli video oynatma!
•DeepZoom projelerinde GPU kullanımı!
•Network bağlantısını algılayabilme.

Etiketler : Silverlight
Kategoriler : Silverlight
Yorumlar : 2 Yorum Yorum Yaz

Arama
  Ara
Takvim
<September 2010>
SMTWTFS
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Tag Bulutu