• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Windows Phone Live Tiles (Canlı Kutucuklar) Oluşturma İşlemi

Windows Phone Live Tiles (canlı kutucuklar) nedir? Nasıl oluşturulur?

14.05.2013

Yazar: Ferhat Kortak (Google+)

Kategori: Windows Phone 8

6704

Merhaba. Bu makalemde Windows Phone’ un en önemli yapı taşlarından birisi olan canlı kutucukları anlatacağım. Ve canlı kutucukları(Live Tiles) uygulamamızda kullanmayı anlatacağım. Teknik detaylara girmeden önce biraz Windows Phone’ un tasarım anlayışından bahsetmek istiyorum. Windows Phone’ da uygulamaların yerleştiği 2 adet ekran bulunuyor. 1. Ekranda sürekli hareket eden, hareket ettikçe içerisinde o uygulamaya ait olduğu bilgilerin geldiği ve tek tıklamayla her an erişilebilecek kutucuklar var. 2. ekranda ise liste halinde, alfabetik olarak listelenmiş tüm uygulamalar mevcut. 1. Ekrana tekrar döndüğümüzde ise 1. ekrandaki kutucukların boyutları küçük, orta ve büyük seçenekleriyle oluşturulabiliyor(Windows Phone 7′ de sadece orta ve büyük). Ve bu canlı kutucuklarla amaçlanan şey bizim tek bir ekrandan birden çok bilgiyi görebilmemizi sağlamak aynı zamanda uygulamaları açmadan bu bilgilere erişebilmemizi sağlamaktır.

Ana ekrandaki Tile’ ın özelliklerini sıralayacak olursam;

Title : Tile’ ın ön yüzündeki başlık özelliği.
BackgroundImage : Tile’ ın ön yüzünde gösterilecek resim.
Count : Tile’ın sağ üst köşesinde göstereceğimiz sayı.
BackTitle : Tile arka yüzünü döndüğünde gösterilecek başlık.
BackContent : Tile arka yüzünü dödüğünde gösterilecek açıklama.
BackBackgroundImage : Tile’ ın arka yüzünü döndüğünde gösterilecek resim.

Uygulamamızla oluşturabileceğimiz 2 adet Tile çeşidimiz vardır. Birincisi kullanıcının kendisinin ana ekrana pin’lediği Tile, ikincisi ise bizim uygulamadan ana ekrana oluşturduğumuz Secondary Tile’ dır. Bu ikisini de uygulamamız içerisinde göstereceğimiz için 2 adet butonumuz var. Üçüncü buton ise Secondary Tile’ı silmeye yarıyor.

Hemen kendi uygulamamızda nasıl Live Tile kullanırız onu göstermek istiyorum. Yeni bir proje açın ve aşağıda vereceğim xaml kodunu MainPage.xaml’deki ContentPanel içerisine yazın.

<TextBox x:Name=”basliktxt” HorizontalAlignment=”Right” Height=”72″ TextWrapping=”Wrap” VerticalAlignment=”Top” Width=”297″ Margin=”159,0,0,0″/>
<TextBlock HorizontalAlignment=”Left” TextWrapping=”Wrap” Text=”Başlık” VerticalAlignment=”Top” Margin=”26,23,0,0″/>
<TextBox x:Name=”sayitxt” HorizontalAlignment=”Right” Height=”72″ TextWrapping=”Wrap” VerticalAlignment=”Top” Width=”297″ Margin=”159,54,0,0″/>
<TextBlock HorizontalAlignment=”Left” TextWrapping=”Wrap” Text=”Sayı” VerticalAlignment=”Top” Margin=”26,77,0,0″/>
<TextBox x:Name=”abasliktxt” HorizontalAlignment=”Right” Height=”72″ TextWrapping=”Wrap” VerticalAlignment=”Top” Width=”297″ Margin=”159,107,0,0″/>
<TextBlock HorizontalAlignment=”Left” TextWrapping=”Wrap” Text=”Arka Başlık” VerticalAlignment=”Top” Margin=”26,130,0,0″/>
<TextBox x:Name=”aciklamatxt” HorizontalAlignment=”Right” Height=”72″ TextWrapping=”Wrap” VerticalAlignment=”Top” Width=”297″ Margin=”159,160,0,0″/>
<TextBlock HorizontalAlignment=”Left” TextWrapping=”Wrap” Text=”ArkaAçıklama” VerticalAlignment=”Top” Margin=”26,183,0,0″/>
<Button Content=”2. Tile Oluştur” HorizontalAlignment=”Left” VerticalAlignment=”Top” Margin=”232,525,0,0″ Width=”214″/>
<Button Content=”1. Tile Güncelle” HorizontalAlignment=”Left” VerticalAlignment=”Top” Margin=”10,525,0,0″ Width=”241″/>
<Button Content=”2. Tile Sil” HorizontalAlignment=”Left” VerticalAlignment=”Top” Margin=”130,453,0,0″ Width=”214″ />
 

Yukarıdaki kodlar uygulamamızın tasarımını oluşturuyor. Textblock nesneleri yanında bulunduğu nesneye hangi verilerin girilmesi gerektiğini kullanıcıya bildiriyor. TextBox nesneleriyle kullanıcıdan Tile'lar ile ilgili bilgileri topluyoruz. Button'larla ise işlemi gerçekleştiriyoruz.

Sonraki adım olarak Solution Explorer’ dan projemiz Add -> New Item ile Windows Phone Portrait Page’ i seçin ve adını Sayfa2.xaml yaparak projeye ekleyin. Ve Sayfa2.xaml’ e gidip sayfanın başlığını Sayfa2 olarak değiştirin. Bunu 2. Tile’ a tıklanınca 2. Sayfaya gidip gitmediğini anlamak için yapıyoruz.

    

Bunları yaptıktan sonra Solution Explorer penceresindeki projemize sağ tıklayarak Add Existing Item seçeneğine tıklayarak Tile’ da kullanacağımız 2 adet resim belirleyelim ve projemize ekleyelim. Benim projemdeki resimlerin ismi “on.png” ve “arka.png”. Sonra ise Solution Explorer’daki MainPage.xaml.cs çift tıklayalım ve kod tarafına geçelim. Hemen namespace’ in üstündeki class’ların içine aşağıdaki class’ı ekleyelim.

using Microsoft.Phone.Shell;

Shell sınıfı, Tile’ ı kullanmamızı sağlayan bir sınıftır. Bu işlemden sonra kullanıcı tarafından pinlenmiş Tile'ı güncellemek için önce 1.Tile Güncelle butonuna çift tıklayalım ve kod tarafına geçelim. 

private void Button_Click_1(object sender, RoutedEventArgs e)
{
//Aktif kutucukların ilkini belirliyoruz
ShellTile AktifTile = ShellTile.ActiveTiles.First();
if (AktifTile!=null) //Kullanıcının Tile pinlediyse içerisindeki kodlar devreye girecek
{
StandardTileData KUTU = new StandardTileData(); //Yeni bir birincil Tile sınıfı oluşturuyoruz
//Özelliklerini atıyoruz
KUTU.Title = basliktxt.Text; //Kutucuğun ön yüzündeki başlık
KUTU.BackgroundImage = new Uri(“on.png”,UriKind.Relative); //Kutucuğun ön yüzündeki resim
KUTU.Count = Convert.ToInt32(sayitxt.Text); //Kutucuğun sol üstünde yer alan rakam
KUTU.BackTitle = abasliktxt.Text; //Kutucuk arkasını döndüğünde gösterilecek başlık
KUTU.BackContent = aciklamatxt.Text; //Kutucuğun arkasını döndüğünde gösterilecek yazı
KUTU.BackBackgroundImage = new Uri(“arka.png”,UriKind.Relative); //Kutucuk arkasını döndüğünde gösterilecek resim

AktifTile.Update(KUTU); //Güncellemeyi başlatalım.
}
}

Diğer butonlara yaptıracağımız işlemler bu kodlara çok benzer olacağından tekrar açıklama satırları koymayacağım. Burada olanları kısaca özetlersem, kullanıcı Tile pinlediyse, TextBoxlardaki girilen değerler oluşturulan Tile'ı güncelliyor. Bu kod hazırda bulunan Tile'ı güncellemek içindi. Şimdi yazacağımız kod ise baştan bir Tile oluşturturmak olacak. Hemen 2. Tile Oluştur butonuna çift tıklayalım ve kod tarafına geçelim.

//Aktif kutucukların ilkini belirliyoruz

StandardTileData YENIKUTU = new StandardTileData(); //Yeni bir birincil Tile sınıfı oluşturuyoruz
//Özelliklerini atıyoruz
YENIKUTU.Title = basliktxt.Text;
YENIKUTU.BackgroundImage = new Uri(“on.png”, UriKind.Relative);
YENIKUTU.Count = Convert.ToInt32(sayitxt.Text);
YENIKUTU.BackTitle = abasliktxt.Text;
YENIKUTU.BackContent = aciklamatxt.Text;
YENIKUTU.BackBackgroundImage = new Uri(“arka.png”, UriKind.Relative);
ShellTile.Create(new Uri(“/Sayfa2.xaml?veri=tile2″,UriKind.Relative),YENIKUTU); //Tile tıklanınca gidilecek adres ve veri2=”tile2″ ile Tile’ı etiketleyip istediğimiz zaman üzerinde işlem yapabiliyoruz.

 

Burada kullanıcının oluşturduğu Tile ile işimiz olmadığı için Tile'ın varlığını kontrol etmemize gerek yok. Önceki koddan tek farkı ShellTile.Create ile başlayan kod satırı oldu. Bu kod Tile'ımızı oluşturmakla birlikte, Tile'ımıza dokunulduğunda uygulama içerisindeki hangi sayfaya gidileceğini belirtiyor. Kodun içerisideki ?veri=tile2 ise ifadesi ise Tile ile sayfaya herhangi bir string ifadeyi göndermek için yazılmış. Burada tile2 string'i gönderiliyor.

Eğer Windows Phone'da sayfalar arası veri transferleri hakkında bilgi sahibi değilseniz, buradan ilgili makaleye ulaşıp konu hakkında detaylı bilgi edinebilirsiniz.

Oluşturduğunuz Tile'ı silmek isteyebilirsiniz. Bunun için öncelikle 2.Tile'ı Sil butonuna çift tıklayalım ve tekrar kod sayfasına gelelim. Artık Tile'ı silmek için kodlarımızı yazabiliriz.

private void Button_Click_3(object sender, RoutedEventArgs e)
{
ShellTile STile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(“veri=tile2″));
STile.Delete();
}

Daha önce Tile'ı oluştururken NavigationString değerini vermiştik. Bu değeri STile nesnesinde aratarak NavigationUri'ı "veri=tile2" değerine eşit olan Tile'ı buluyoruz .Biraz meşakkatli bir iş :) 

Projenin kaynak kodlarını buradan indirebilirsiniz.

Umarım faydalı bir makale olmuştur. Görüşmek üzere :)

Yazar Hakkında

Ferhat Kortak

Ferhat Kortak

ferhatkortak.wordpress.com

1994 İzmir doğumluyum. Çukurova Üniversitesi/Bilgisayar Programcılığı mezunuyum. Yazılım dünyasıyla ciddi olarak ilgilenmeye başlamam, meslek lisesini bitirmemle oldu. Geçmişte Windows Phone ve Windows Store Apps gibi mobil teknolojilerle ilgilendim. Şu anda C# ile ilgileniyorum. Umarım paylaşımlarım faydalı oluyordur.

Sosyal Medya

ORANLAR

  • 6704izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 123776
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 70839
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51496
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ