WordPress 2013 Yılı Özeti

WordPress.com istatistik yardımcı maymunları bu blog için bir 2013 yıllık raporu hazırladılar.

İşte bir alıntı:

Sydney Opera House’daki konser salonu 2,700 kişiyi barındırır. Bu blog, 2013 içinde yaklaşık 57.000 kez görüntülendi. Eğer bu Sydney Opera House’da bir konser olsaydı, bu kadar insanın onu görmesi kapalı gişe yaklaşık 21 gösteri alacaktı.

Raporun tamamını görmek için buraya tıklayın.

İpinUcu ~ 100 – WPF’te Height-Width vs ActualHeight-ActualWidth

Öncelikle WPF ile ilgili 100. ipucumuz Türkçemize hayırlı olsun ^^

WPF’te bildiğiniz üzere width yada height özelliklerine değer girmek zorunda değiliz. Örneğin bir WrapPanel’in içine iki tane TextBlock koysak ve birkaç satır yazı yazsak pencerenin boyutuyla birlikte bu textler de büyüyecek (aslında doğrudan WrapPanel textleri de büyütemiyor. ViewBox kullanılmalı :)) Dönelim konuya:

<StackPanel>

<Button Content="Mehmet KAPLAN" HorizontalAlignment="Stretch"  />

</StackPanel>

Biz bu XAML kodlarıyla uygulamamızı çalıştırdığımızda Window’un height ve width bilgileriyle birlikte button şekil alacak. Peki bu width ve height’e kod tarafında ihtiyacımız olursa? Eğer buttonun kod tarafında witdh ve heighte bakmak isterseniz NaN olarak göreceksiniz. WPF’te bu bilgiler Witdh ve Height verilmemişse ActualHeight ve ActualWidth adı altında tutuluyor ve değerler Layout yüklendikten sonra değişiyor. Elbette bu özellikler de double türünde.

Umarım bir işinize yarar ^^

İpinUcu ~ 99 – WPF’te Kayan Yazı Animasyonu (marquee – scroll text)

Nedendir bilmem halen güzeller güzeli WPF’in animasyon olanaklarına alışamadık, ısınamadık ve bununla ilgili var denecek kadar bile kaynak oluşturamadık. Neyse ki dünyanın bir yerlerinde insanlar halen yaptıkça paylaşıyorlar 🙂

Doğrudan kayan yazı için XAML’a bakıyoruz:

<StackPanel Orientation=”Horizontal” Margin=”0,0,0,0″>

    <StackPanel.RenderTransform>
        <TranslateTransform x:Name="transferText" X="-40"/>
    </StackPanel.RenderTransform>
    <StackPanel.Triggers>
        <EventTrigger RoutedEvent="StackPanel.Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation From="0" To="-900" Duration="00:00:10"
                      Storyboard.TargetProperty="X"
                      Storyboard.TargetName="transferText"
                      RepeatBehavior="Forever"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </StackPanel.Triggers>
    <TextBlock FontSize="25"  x:Name="txtKron" Margin="10,0,7,0"/>
</StackPanel>

Böylece StackPanel içinde yer alan TextBlock ve daha niceleri kayıp gidecektir 🙂

Bu animasyon bir kenarda dursun. Şimdi bu kaydırma işlemi sırasında diyelim ki yazının bir kısmı kayboldu ve kaybolan kısım arkasından çıkıp gelsin istiyoruz. Yani Nokia’nın meşhur kara yılanı gibi 🙂

Buyrun:

XAML

<Window x:Class="WpfApplication9.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication9"
        Title="MainWindow" Height="83" Width="222" Name="UI" Tag="Tol Level">
    <StackPanel Orientation="Horizontal" x:Name="stack">
        <StackPanel.Resources>
            <local:NegatingConverter x:Key="NegatingConverter" />
            <Storyboard x:Key="slide">
                <DoubleAnimation From="0" To="{Binding Width, ElementName=canvas, Converter={StaticResource NegatingConverter}}" Duration="00:00:10"
                      Storyboard.TargetProperty="X"
                      Storyboard.TargetName="transferCurreny"
                      RepeatBehavior="Forever"/>
            </Storyboard>
        </StackPanel.Resources>
        <StackPanel.RenderTransform>
            <TranslateTransform x:Name="transferCurreny" X="0"/>
        </StackPanel.RenderTransform>
        <StackPanel.Triggers>
            <EventTrigger RoutedEvent="StackPanel.Loaded">
                <BeginStoryboard Storyboard="{StaticResource slide}" />
            </EventTrigger>
            <EventTrigger RoutedEvent="StackPanel.SizeChanged">
                <BeginStoryboard Storyboard="{StaticResource slide}" />
            </EventTrigger>
        </StackPanel.Triggers>
        <Canvas x:Name="canvas" Width="{Binding ActualWidth, ElementName=stack}">
            <TextBlock Text="StackOverflow" FontSize="25"  x:Name="txtKron" Canvas.Left="0"/>
            <TextBlock Text="{Binding Text, ElementName=txtKron}" FontSize="25" Canvas.Left="{Binding Width, ElementName=canvas}"/>
        </Canvas>
    </StackPanel>
</Window>

C#

public class NegatingConverter : IValueConverter
    {

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is double)
            {
                return -((double)value);
            }
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is double)
            {
                return +(double)value;
            }
            return value;
        }
    }

Lütfen c# kodlarını namespace’in altında tutunuz. Sınıfın altında oluşturursanız olmayacaktır.

Yılan örneği için teşekkürler; http://stackoverflow.com/questions/15323163/wpf-marquee-text-animation

Kolaylıklar diliyorum.

İpinUcu ~ 98 – WPF Window’da Simge Durumuna Küçültme, Ekranı Kaplama ve Kapatma Butonlarını Gizlemek

Merhabalar!

Uzuun bir aradan sonra WPF ile haşır neşir olmam gerekti ve bu süreçte WPF’in hali hazırda bize sunmadığı ama sınırları zorlayarak yapabileceğimiz birkaç özelliği gerekti. Bunlardan bir tanesi close, maximazed ve minimized buttonlarını gizlemek!

Bunun için söz konusu formun C# tarafında şu eklemeyi yapıyoruz:

private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;
[DllImport(“user32.dll”, SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport(“user32.dll”)]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

Window_Loaded olayına da şunları ekliyoruz:

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);

Bu yazdığım kodlar şu kütüphanelere ihtiyaç duyacağından otomatik olarak sunmazsa diye paylaşıyorum:

using System.Windows.Interop;

using System.Runtime.InteropServices;

Yazdığımız kodlar yalnızca sağ üst köşedeki butonları kaldırdığından doğal olarak kenarlıkların da (border) kalkmasını isteyebiliriz. Bunun için XAML tarafında Window’un WindowsStyle özelliğini None yapıyoruz.

XAML

 WindowStyle=”None”

Böylece güle güle kullanabiliriz. ^^

Kaynaklar: http://stackoverflow.com/questions/743906/how-to-hide-close-button-in-wpf-window

http://winsharp93.wordpress.com/2009/07/21/wpf-hide-the-window-buttons-minimize-restore-and-close-and-the-icon-of-a-window/

WordPress 2012 İncelemesi

WordPress.com istatistik yardımcı maymunları bu blog için bir 2012 yıllık raporu hazırladılar.

İşte bir alıntı:

Jay-Z izlemek için yeni Barclays Center içine 19.000 kişi sığdı. Bu blog, 2012 içinde yaklaşık 89.000 kez görüntülendi. Eğer bu Barclays Center’da bir konser olsaydı, birçok insan için bunu görmek, biletleri tükenmiş yaklaşık 5 gösteri kadar olacaktı.

Raporun tamamını görmek için buraya tıklayın.

.NET Framework 4.5 Yenilikleri, Windows Market (Store)

Windows 8’le birlikte “merhaba” demiş bulunduğumuz Windows Market’e ulaşmak ve olanaklarından yararlanmak için .NET Framework 4.5 ile birlikte C# ve VB.NET tarafında gerekli geliştirmeler yapılmış bulunuyor.

.NET for Windows Store diye anılacak. Biz kod yazarlarına getireceği en büyük değişiklikse hiç şüphesiz System yerine Windows isim alanını kullanması. En başta ne kadar “ne olabilir ki” diye düşünülse de, ayrıntılara girildikçe çektireceği çileler de derinleşecektir. Bu yüzden ‘var olan kodları sağlıklı bir şekilde çevirebilmek’ için şunu okumakta yarar var: MSDN

Şuradan desteklediği API’lere bakılabilir: MSDN Windows Market’in Desteklediği API’ler

Tüm bunların yanı sıra kullandığımız sınıfları platform bağımsız kullanabileceğiz, şen ola! =] MSDN

Kaynak ve daha ayrıntılı bilgi:

.NET for Windows Store apps overview

 

.NET Framework 4.5 Yenilikleri

Ne yazık ki uzun süredir tüm dünyada yazılımsal gelişmeler, haberler ve paylaşımlar durma noktasına geldi. Bu süreçten elbette ülkemiz de nasibini aldı. Genellikle diğer Türk yazılımcılarla bol bol irdelenen Framework yenilikleri bu rehavetten etkilenmiş olacak ki pek Türkçe kaynak bulamadım. Bu işi de ben yükleneyim dedim. Bu yüzden .NET Framework 4.5 yeniliklerini mümkün olduğunca anlamaya ve incelemeye çalışıp fırsat buldukça yazmaya çalışıyor olacağım.

Windows Market Yenilikleri

Taşınabilir Sınıf Kütüphaneleri

Yapısal (çekirdekte) Yeni Özellikler ve Geliştirmeler

Web Tarafında Geliştirmeler

Ağ (network) Tarafında Gelişmeler

WPF’teki Yenilikler

WCF’teki Yenilikler

WF’teki Yenilikler

DevExpress v2012 vol2 Private Beta Yayınlandı!

DevExpress’in 2012 yılı için düşündüğü son yenilikler görücüye çıktı. Şimdilik NDA’den ötürü içerik paylaşamıyor olsam da DevExpress’in lisans almış kullanıcıları devexpress.com’da oturum açarak görebilirler.

Konuyla ilgili DX tarafında oluşturulmuş bir eposta adresi var. Konuyla ilgili soru ve beklentilerinizi ulaştırabilirsiniz: beta122@devexpress.com

 

Kişisel++ Blogum Aaçııldıı!

Kişisel mevzulara ve gereksiz ayrıntılara yönelik blogum:

Meymet KAPLAN

DevExpress DXTREME (DX2) Nedir, Ne Değildir?

Her ne kadar programlama işinin akıllı telefon ve tablet tarafında olmasam da, DevExpress’in bu tür cihazlar için uygulama yapma olanağı tanıyan ve harika kolaylıklar sağlayan ürünlerinden bahsetmek istiyorum.

DXTREME, Windows 8, Android, iPad ve iPhone üzerinde çoklu dokunma desteği bulunan, HTML5, CSS ve JScript’ten güç alan bir ürün. Bu ürün, aynı zamanda web ve windows tarafında -her zaman olduğu gibi- harikalar yapma olanağı tanıyor. Mobil tarafında getirilenler her ne kadar öne çıkıyor olsa da, web ve windows tarafını göz ardı etmemeliyiz.

DXTREME, aynı zamanda bundan önceki ürün grubunun devamlılığına öncülük ediyor. Yani bir diğer deyişle, DXTREME aslında DX2.

Bunun birlikte öne çıkanlar:

Mobile geliştirme olanakları (Android, Android Tablet, iPhone, iPad),

Windows 8’in bize getirdikleri (TileControl gibi) ve getirdiklerini kullanabiliyor oluşumuz,

Ve her zamanki gibi, güçlü web nesneleri.

Tüm bunların hepsi için bundan sonraki süreçte DX2 denilmesi planlanıyor. Yani şimdilik 🙂

Elbette böyle söyleniyor olmasının asıl nedeni, yeni gelişmeler. Bildiğimiz gibi tüm dünya mobilleşmeye doğru gidiyor ve DevExpress kendi tarafında bunu yakalamaya çalışıyor.

Daha fazlasını aşağıdaki videodan izleyebilirsiniz ve demolara göz atabilirsiniz:

DX2 Tanıtım Videosu

DXTREME, DX2 Demosu.

%d blogcu bunu beğendi: