garen.yöndem launching ...3 ...2 ...1

Pivot ve Panorama Kontrollerinde Seçilen Item'ı Yakalamak

17. Ocak 2013 17:35by Garen Yöndem

Windows Phone uygulamalarınız için ApplicationBarlar olmazsa olmazlardan. Her sayfa için ayrı ApplicationBar özellikleri tanımlayabilirsiniz. Ancak, konu Pivot veya Panorama tasarımına sahip sayfalar olunca iş biraz değişebilir. Pivot ve Panorama tipindeki sayfalar, daha geniş kullanım alanı sundukları için çok yönlü kullanıma elverişliler. Elbette bu tip sayfalar için de tek tip ApplicationBar kullanabiliriz. Ancak bu yazıda, Pivot ve Panorama sayfalar içerisindeki Itemlar arasında kaydırma yaparken farklı ApplicationBar’ların nasıl kullanılabileceğini ele alacağız.

Pivot ve Panorama tasarımlarındaki sayfalar, az önce de bahsettiğimiz gibi bize daha geniş kullanım alanı sunuyorlar. Aslında bu alan içerisinde gerçekleşen olay, kullanıcının viewport açısını değiştirerek sayfanın devamındaki içeriği de görebilmesidir. Fakat developerlar için arka planda işler biraz farklı. Örneğin Pivot sayfalarda PivotItemlar ve Panorama tarafında da PanoramaItemlar mevcut. Pivot ve Panorama sayfalarda SelectionChanged event’ını kullanarak sayfa geçişlerini yakalayabilirsiniz.

<!--Pivot-->
<phone:Pivot SelectionChanged="My_Pivot_SelectionChanged"/>

 

<!--Panorama-->
<phone:Panorama SelectionChanged="My_Panorama_SelectionChanged"/>

Bu event’ın yardımıyla her PivotItem veya PanoramaItem için farklı ApplicationBar görüntüleyebilir veya ApplicationBar’ınızı gizleyebilirsiniz.

C# tarafında ise switch-case yöntemiyle Pivot’un SelectedIndex’ine ulaşıp, index numarasına göre farklı işlemleri tetikleyebilirsiniz.

Örnek olarak ApplicationBar’ınızı ikinci Itemda gizlemeye çalıştığınızı varsayalım.

// Pivot
private void My_Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (((Pivot)sender).SelectedIndex)
{
case 0: // index numarasına göre ilk itemı temsil eder
ApplicationBar.IsVisible = true;
break;
case 1:
ApplicationBar.IsVisible = false;
break;
}
}

 

// Panorama
private void Panorama_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (((Panorama)sender).SelectedIndex)
{
case 0: // index numarasına göre ilk itemı temsil eder
ApplicationBar.IsVisible = true;
break;
case 1:
ApplicationBar.IsVisible = false;
break;
}
}

Böylece Pivot'umuzun veya Panorama'mızın ikinci item'ında ApplicationBar'ımızı gizlemiş olduk.

PanoramaSelectionCange.rar (402,34 kb)

Oyungezer Windows Phone Uygulamasına Güncelleme

23. Aralık 2012 16:50by Garen Yöndem

Geçen ay Oyungezer uygulamamın Log dergisinde yayınlanmasını müjdelerken söz verdiğim update nihayet yayınlandı. Marketplace’ten “Uygulamanın açıklaması, iPad veya diğer mobil platformların uygulamalarının açıklamalarına benziyor” tarzında bir yorumla geri gelmesi submission sürecini yaklaşık bir hafta uzattı. Dolayısıyla update bildirimi de ancak üç gün önce cihazlara ulaşabildi.

 

Marketplace’ten bu tarzda gelen yorumlarla ilgili yazılabilecek çok şey var aslında, nedense en komik yorumlar da bana denk geliyor sanırım. Herneyse bu konudaki düşüncelerimi daha sonraki yazılarıma saklayacağım ama siz de bu şekilde bir geri bildirimle karşılaşırsanız aklınızda bulunsun. Uygulamalarınızın açıklamalarında bir şekilde “Windows Phone” markasına yer vermeye çalışın ;).

 

Örnek olarak;

 

Oyungezer Windows Phone uygulaması sayesinde oyun Dünyasına dair her şeyden haberdar olun. Oyungezer dergisi ekibinin sunduğu haberleri, twittleri, facebook güncellemelerini ve youtube videolarını Windows Phone'unuzdan takip etmenin keyfine varın. Oyungezer dergisi ekibini takip etmek hiç bu kadar kolay olmamıştı.

 

Şimdi uygulamaya yaptığım yeniliklerden bahsetmek istiyorum. Uygulamayı indirip versiyon bilgisi sayfasına bakmış olanlar zaten görmüşlerdir. En büyük yeniliklerden biri Oyungezer Facebook sayfası. Artık uygulamadan OGZ Facebook güncellemelerini de takip edebilirsiniz. Facebook sayfasının uygulamaya eklenmesini isteyenler olmuştu, onlar için iyi haber. Yorumlarıyla yaptıkları katkılardan dolayı da onlara teşekkür ediyorum. Bir diğer önemli gelişme ise, uygulamada istediğiniz her haberi Microsoft accountunuz bağlı olduğu sosyal platformlarda paylaşabiliyor olmanız. Böylece uygulama artık tek yönlü bir uygulama olmaktan çıktı :). Sizden gelecek yorumlar doğrulutsunda uygulamaya yeni güncellemeler çıkarmaya devam edeceğim. Şimdilik benden bu kadar.

 

Görüşmek üzere!

Windows Phone Toolkit - Ekim 2012

13. Ekim 2012 11:00by Garen Yöndem

Geçtiğimiz Salı günü Silverlight for Windows Phone Toolkit’in Ekim 2012 versiyonu daha önceki Toolkitler gibi CodePlex üzerinden yayınlandı. Ancak yeni versiyonda toolkit’in adı Windows Phone Toolkit olarak kısaldı. Microsoft’un Silverlight markasını toolkit’in isminden neden çıkardığıyla ilgili net bir bilgi olmamakla beraber benim yorumum şöyle;

 

Nokia en başından beri cihazlarını Lumia markasıyla tanıtıyor ve Microsoft’la yaptıkları özel anlaşma dahilinde cihazları’nın arkasına Windows Phone olduklarını yazmıyor. Geçen bir yıl içerisinde de Nokia’nın meşhur Lumia 800 ve 900 modelerinin tasarımlarıyla başarıyı yakalamalarının ardından, Lumia markası Windows Phone’dan ‘neredeyse’ daha ünlü hale geldi.

 

HTC ise, piyasa çıkaracağı iki Windows Phone 8 işletim sistemli cihazında da Nokia’nın aksine Windows Phone markasını model ismi olarak kullandı (Windows Phone 8X ve Windows Phone 8S). Kuşkusuz bu durum Microsoft’u memnun etmiş olacak ki, Steve Ballmer HTC lansımanı sırasında bu memnuniyeti birinci ağızdan dile getirdi ve Microsoft, Nokia, HTC üçgeninde bir gerginlik oluştu.

 

Microsoft’un içinde bulunduğu bu durumda, sadece işletim sistemi lisanslayan bir şirket olarak cihaz isimlendirmelerinde seçici olma veya söz sahibi olma hakkı olduğunu düşünmüyorum. Fakat durum aksi şekilde gözüküyor ve Microsoft son dönemde Windows Phone markasını daha fazla öne çıkartmak için küçük adımlar atıyor.

 

Son sürümünde Silverlight markasınının Windows Phone Toolkit’in adından çıkartılmasını da bu sürecin devamı olarak görüyorum.

 

Windows Phone 8 tüketici lansımanına geri saydığımız bu günlerde, Windows Phone Toolkit Ekim güncellemesi ile gelen yeniliklere buradan, toolkit’in kendisine ise buradan ulaşabilirsiniz.

 

Görüşmek üzere!

Back Butonunu Devre Dışı Bırakmak

3. Eylül 2012 18:50by Garen Yöndem

Uygulamanızda kullanıcının geri gitmesini istemediğiniz sayfalar olabilir. Böyle bir durumda, Windows Phone cihazlarda fiziksel olarak bulunan back butonunu devre dışı bırakmak için OnBackKeyPress methodunu override etmeniz gerekiyor. Sonrasında CancelEventArgs’e cancel değerini verip, true olarak set etmelisiniz.

 

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
}

 

Böylece kullanıcı fiziksel back butonunu kullanarak, bulunduğu sayfadan bir önceki sayfaya dönemeyecek.

Windows Phone Sayfa Geçiş Efektleri

17. Ağustos 2012 17:15by Garen Yöndem

Windows Phone ve yeni nesil Windows uygulamalarınıza sayfa geçiş animasyonları eklediğiniz takdirde kullanıcı deneyimi (UX) açısından kullanıcılarınıza daha tatmin edici bir deneyim yaşatmış olacaksınız. Bir başka değişle, işletim sistemindeki kullanıcı deneyimini uygulamanızda da devam ettiriyor olacaksınız. Bu da Microsoft :) ve ben dahil, tanıdığım diğer Windows Phone kullanıcıları çevrelerinde de sempati ile karşılanmakta.

Öncelikli olarak Silverlight for Windows Phone Toolkit’i Windows Phone Toolkit'i bilgisayarınıza kurmanız gerekiyor. Ardından Microsoft.Phone.Controls.Toolkit library’sini uygulamanıza referans olarak ekledikten sonra App.xaml.cs sayfasında

//RootFrame = new PhoneApplicationFrame();  ...yerine
RootFrame = new TransitionFrame();

rootframe değişikliğini yapıp, animasyon eklemek istediğiniz sayfa’nın phone:PhoneApplicationPage tag’inin içerisine Microsoft.Phone.Controls.Toolkit librarysine xmlns eklemeniz gerekiyor.

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

Sonrasında sayfanıza kayma efekti eklemek için, aşağıdaki kodu kullanabilirsiniz.

Işletim sistemi içerisinde de çok yaygın olarak kullanılan sayfa çevirme efektini eklemek isterseniz, kodunuzun aşağıdaki gibi olması gerekiyor.

Kod üzerinde birkaç değişiklik yaparak farklı geçiş efektleri elde etmeniz mümkün.

Tekrar görüşmek üzere, kolay gelsin.