İpinUcu ~ 99 – WPF’te GridSplitter Kullanımı

WPF’te GridSplitter Kullanımı için öncelikle WPF’teki Grid’i anlamak gerek. Konuyla ilgili gerekli bilgiye wpftutorial’dan ulaşabilirsiniz: http://www.wpftutorial.net/GridLayout.html

Ayrıca takiben aşağıdaki bağlantılardan da yararlanarak GridSplitter’ın hakkını verebilir hale gelebilirsiniz =]

http://wpf.2000things.com/2011/12/23/457-use-a-gridsplitter-to-let-a-user-change-row-or-column-size-in-a-grid/

http://www.ehow.com/how_4546867_use-gridsplitter-wpf.html

http://www.youtube.com/watch?v=hKZKbPrNL8w

 

İpinUcu ~ 98 – WPF & Silverlight Animasyon Örnekleri 7

WPF ve Silverlight Animasyon Örneklerine bir katkı da Mike Hilberg’den geldi! Storyboard’un kullanımını anlamak adına yararlı olabileceğine inandığım, güzel bir animasyon örneği:

A Custom Storyboard Component in XAML

İpinUcu ~ 97 – WPF’te Dikey TextBlock Kullanımı

WPF’te Dikey TextBlock Kullanımı için LayoutTransform ile oynamak yeterli olacaktır. XAML’a bakalım:

    <TextBlock Text="Mehmet KAPLAN">
            <TextBlock.LayoutTransform>
                <RotateTransform Angle="-270"/>
            </TextBlock.LayoutTransform>
        </TextBlock>

Buna göre Mehmet KAPLAN yazısı dikey olarak yazılacaktır. Tam tersi şekilde olsun isterseniz -270 yerine 270 yazmanız yeterli olur. Aynı kodları Label için de kullanabilirsiniz.

Haydi kolay gelsin.

İpinUcu ~ 87 – WPF DevExpress ButtonEdit Kullanımı

WPF DevExpress ButtonEdit nesnesi, özellikle kayıt formu ve benzeri yapılarda çok işe yarar bir nesne. Hemen örneğe geçelim:

<dxe:ButtonEdit x:Name="btnCopcu" AllowDefaultButton="False">
            <dxe:ButtonEdit.Buttons>
                <dxe:ButtonInfo Content="Temizle" Click="ButtonCopcu_Click" />
            </dxe:ButtonEdit.Buttons>
</dxe:ButtonEdit>

Burada bir ButtonEdit yarattık ve içerisinde “Temizle” isimli bir düğme ekledik. AllowDefaultButton=”False” kısmı, ButtonEdit’in varsayılan gelen düğmesinin görünmesini engelliyor. C# tarafında da şunu yazıyoruz:

   private void ButtonCopcu_Click(object sender, RoutedEventArgs e)
        {
            btnCopcu.EditValue = string.Empty;
        }

Ekran görüntüsüne bakıp daha anlaşılır hale getirelim:

Temizle’ye tıkladığımızda mehmet kaplan yazısı otomatik silinecektir.

Bir de kopyala\yapıştır gibi özellikleri ekleyip düğmeleri çeşitlendirebiliriz:

 <dxe:ButtonEdit.Buttons>
                <dxe:ButtonInfo Content="Temizle" Click="ButtonCopcu_Click"/>
                <dxe:ButtonInfo Content="Kopyala" Command="Copy"/>
                <dxe:ButtonInfo Content="Yapıştır" Command="Paste"/>
</dxe:ButtonEdit.Buttons>

Ekran görüntüsü:

Bu da DevExpress’in belgesi:

DevExpress WPF ButtonEdit

Haydi kolay gelsin.

İpinUcu ~ 83 ~ WPF Frame’de Web Sayfası Açmak (Alternatif Web Browser Nesnesi)

WPF”teki Frame nesnesinin web sayfası açmaya kadir olduğunu öğrenmemle birlikte sizlere sunuyorum =]

<Frame Source=”https://mehmetkaplan.wordpress.com&#8221; NavigationUIVisibility=”Visible” />

NavigationUIVisibility, geri-ileri düğmelerinin aktif olmasını sağlıyor.

Ayrıca Frame nesnesi, .XAML dosyalarını açma yeteneğine sahip. Tüm bunların yanısıra bir taşıyıcı olarak da kullanabilirsiniz.

Diğer hünerleri için: MSDN

Daha önce WPF WebBrowser’la ilgili yazdıklarım için:

https://mehmetkaplan.wordpress.com/tag/webbrowser/

Haydi kolay gelsin.

İpinUcu ~ 82 ~ WPF RichTextBox ile RTF Dosyalarını Açmak ve Kaydetmek

WPF RictTextBox’ın zenginlikleri bize .txt dosyalarında olduğu gibi, .rtf dosyalarında da yapacağını yapıyor. Direk XAML’a geçelim:

<StackPanel>
      <Button Content="_Aç" x:Name="btnAC" Click="btnAC_Click" />
      <Button Content="_Kaydet" x:Name="btnKaydet" Click="btnKaydet_Click" />
      <RichTextBox x:Name="rtfMK" />
</StackPanel>

C# tarafına geçelim:

   private void btnAC_Click(object sender, RoutedEventArgs e)
        {
            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
            dlg.DefaultExt = ".rtf";
            dlg.Filter = "RTF Belgeleri (.rtf)|*.rtf";

            Nullable<bool> sonuc = dlg.ShowDialog();
            if (sonuc==true) rtfMK.Selection.Load(new FileStream(dlg.FileName, FileMode.Open), DataFormats.Rtf);
        }
  private void btnKaydet_Click(object sender, RoutedEventArgs e)
        {
            TextRange range;
            FileStream fStream;
            range = new TextRange(rtfMK.Document.ContentStart, rtfMK.Document.ContentEnd);
            fStream = new FileStream("c:\\mehmet kaplan.rtf", FileMode.Create);
            range.Save(fStream, DataFormats.Text);
            fStream.Close();
        }

Kaydet işleminde de SaveFileDialog kullanabilirsiniz.

Haydi kolay gelsin.

İpinUcu ~ 81 ~ WPF DevExpress ListBoxEdit Kullanımı

WPF DevExpress ListBoxEdit, DevExpress’in diğer nesneleri gibi işimizi hayli kolaylaştıracak türden. Klasik ListBox’ı bildiğinizi varsayarak direk XAML’a geçiyorum:

<dxe:ListBoxEdit Name=”listMK” VerticalAlignment=”Center” MaxWidth=”220″ SelectedIndex=”0″ MaxHeight=”360″>

<dxe:ListBoxEdit.Items>

<dxe:ListBoxEditItem Content=”Mehmet KAPLAN” />

<dxe:ListBoxEditItem Content=”Bill Gates” />

<dxe:ListBoxEditItem Content=”Steve Jobs” />

</dxe:ListBoxEdit.Items>

</dxe:ListBoxEdit>

<Button Content=”Check olsun” Height=”23″ HorizontalAlignment=”Left” Margin=”118,236,0,0″ Name=”btnCheck” VerticalAlignment=”Top” Width=”75″ Click=”btnCheck_Click” />

<Button Content=”Radyo olsun” Height=”23″ HorizontalAlignment=”Left” Margin=”208,236,0,0″ Name=”btnRadyo” VerticalAlignment=”Top” Width=”75″ Click=”btnRadyo_Click” />

<Button Content=”Bildiği gibi olsun” Height=”23″ HorizontalAlignment=”Left” Margin=”297,236,0,0″ Name=”btnVarsayilan” VerticalAlignment=”Top” Width=”96″ Click=”btnVarsayilan_Click” />

ListBoxEdit’imiz’imizi oluşturduk, üç eleman ekledik. Bunun dışında da üç düğme ekledik. Ekran görüntüsü aşağıdaki gibi olacaktır:

Şimdi Check olsun düğmesindeki ekran görüntüsüne bakalım:

Bir de Radyo düğmesine bakalım:

Galiba konu anlaşıldı. =] Şimdi C# tarafındaki kodcuklarımıza bakalım:

 private void btnCheck_Click(object sender, RoutedEventArgs e)
        {
            listMK.StyleSettings = new CheckedListBoxEditStyleSettings();
        }

        private void btnRadyo_Click(object sender, RoutedEventArgs e)
        {
            listMK.StyleSettings = new RadioListBoxEditStyleSettings();
        }

        private void btnVarsayilan_Click(object sender, RoutedEventArgs e)
        {
            listMK.StyleSettings = new ListBoxEditStyleSettings();
        }

using DevExpress.Xpf.Editors; eklemeyi unutmuyoruz.

Haydi kolay gelsin.

İpinUcu ~ 80 ~ WPF DevExpress MemoEdit Kullanımı

DevExpress WPF MemoEdit, Windows ve ASP.NET’tekinden farklı olarak hem göze hem programcıya hitap edecek şekilde tasarlanarak sergilenmiş. Uzun satırlardan oluşan gridlerdeki değerlerin düzeltilmesini sağlamak için pek harika bir nesne olacağı kanaatindeyim. Bakalım:

<dxe:MemoEdit x:Name=”memoKaplan”

MaxWidth=”300″

MemoVerticalScrollBarVisibility=”Auto”

MemoHorizontalScrollBarVisibility=”Auto”

VerticalAlignment=”Center”

MemoTextWrapping=”Wrap”

PopupWidth=”250″

Text=”Jung der ki: ‘yalnızlık, insanın çevresinde insan olmaması demek değildir. insan kendisinin önemsediği şeyleri başkalarına ulaştıramadığı ya da başkalarının olanaksız bulduğu bazı görüşlere sahip olduğu zaman kendisini yalnız hisseder.'” ShowIcon=”False” />

Burada MemuTextWrapping özelliğinin Wrap olduğuna dikkat etmeliyiz. Yoksa MemoEdit açıldığında ekranın sağına doğru kayacaktır. Bir diğer özellik ShowIcon. Eğer bu özelliği False yapmassak, MemoEdit’te içeriğin ilk üç-dört kelimesi yerine bir simge beliriyor. Ayrıca IsTextEditable adlı bir özellik daha bulunmakta. Bu da adından anlaşılabileceği üzere değişikliklerin yapılması ya da yapılmamasını belirliyor. Elbette PopupWidth’i de unutmamalıyız. MemoEdit’in açıldığındaki pencere boyutlarının ne olacağını belirliyoruz.

Bunlar dışında MemoEdit’e yeni düğmeler (button) ekleyebiliyoruz.

Haydi kolay gelsin.

İpinUcu ~ 77 ~ WPF’te RadioButton Kullanımı

WPF’te RadioButton kullanımıyla ilgili daha önce Turhal TEMİZER tarafından yazılmış bir makalenin zaten olduğunu ve öncelikle onu okumanın daha yararlı olacağını hatırlatmak gerek. Makaleye bu bağlantıdan ulaşabilirsiniz.

BU makale WPF’te RadioButton kullanımıyla ilgili Sean’un yazdığı iki makaleden biridir. İkincisi de aynı şekilde yararlı olmakla birlikte, RadioButton’a enum sabitini bağlamakla ilgilidir. Aşağıdaki bağlantıdan söz konusu makaleye ulaşabilirsiniz:

#358 – Binding a RadioButton to an Enumerated Type

Öncelikle bir ScroolViewer koyalım ve daha sonra içerisinde anket yapalım:

 <ScrollViewer>
        <StackPanel HorizontalAlignment="Center" >
            <Label Content="En çok sevdiğiniz sebze?"/>
            <RadioButton>
                <StackPanel>
                    <Image Source="havuc.png" Stretch="None"/>
                    <Label Content="Havuç"/>
                </StackPanel>
            </RadioButton>
            <RadioButton>
                <StackPanel>
                    <Image Source="pirasa.png" Stretch="None"/>
                    <Label Content="Pırasa"/>
                </StackPanel>
            </RadioButton>
            <RadioButton>
                <StackPanel>
                    <Image Source="domates.png" Stretch="None"/>
                    <Label Content="Domates"/>
                </StackPanel>
            </RadioButton>

        </StackPanel>

</ScrollViewer>

StackPanel içerisine yerleştirdiğimiz RadioButton yardımıyla hem resmi, hem de yazıları seçilebilir hale getirdik.  Ekran görüntüsü aşağıdaki gibi olacaktır:

 

Haydi kolay gelsin.

İpinUcu ~ 76 ~ WPF’te CheckBox ve IsThreeState (Indeterminate)

WPF’teki CheckBox’ın kullanımında varsayılan olarak yalnızca true ve false vardır. Indeterminate, yani kararsız seçiminin yapılmasını sağlamak için CheckBox’ın IsThreeState özelliğini true olarak ayarlamamız gerekir. Yani bu yaptığımızda true ve false’un dışında bir de null değerimiz olur.

Aşağıdaki gibi bir CheckBox oluşturalım:

 <CheckBox Name=”check” Content=”mehmet kaplan’ı takip ediyor musunuz?” IsThreeState=”True” Click=”check_Click” />

C# tarafında da check_Click isimli bir olay oluşturalım:

        private void check_Click(object sender, RoutedEventArgs e)
        {
            if (check.IsChecked == null)
            {
                MessageBox.Show("En kötü karar bile kararsızlıktan iyidir.");
            }
        }

Programı çalıştırdığımızda ve CheckBox Indeterminate durumuna geldiğinde kararsızlıkla ilgili özlü sözümüz ekrana gelecektir.

WPF CheckBox’ın MSDN sayfasına bu bağlantıdan ulaşabilirsiniz.

%d blogcu bunu beğendi: