Makale Özeti

Bu yazımızda hazırlamış olduğumuz User Control lerin WPF uygulamalarında kullanılabilmesi için ToolBox 'a nasıl ekleyebileceğimizi incelemeye çalışıyoruz.

Makale

Windows Presentation Foundation ile çalışırken ortak bir tasarım şablonunu sık sık kullanmak gerekebilir. Bu durumda arka planda yer alan yüzlerce satır kodu yeni formaların içerisinde kullanmak yerine User Control oluşturarak çok daha hızlı bir şekilde kullanabilmemiz mümkün olacaktır. User Control kullanmanın en büyük avantajı benzer işlemleri yapacak modülleri her kullanımda tasarlamak ve yeniden arka plan kodlarını yazarken harcanacak zaman yerine hazırlanacak olan bir User Control ile benzer işleri yapacak yapıları tek seferde yapabileceğiz. Peki hazırlamış olduğumuz User Controllere nereden erişebiliriz. Bu yazımızda hazırlamış olduğumuz User Controlleri Visual Studio ortamında toolbox 'a nasıl ekleyeceğimizi inceliyor olacağız.

İlk olarak yapılması gereken bir User Control oluşturmak olacaktır. Bu işlem için Visual Studio 2008, Visual Studio 2010, Expression Blend 2 ya da Expression Blend 3 üzerinde geliştirebilmeniz mümkündür. Biz bu sefer örneğimizi Visual Studio 2010 Beta1 üzerinde geliştireceğiz. (Diğer ürünler üzerinde de aynı işlemleri uygulamanız durumunda herhangi bir farklılık ile karşılaşmayacaksınız.)



User Control ü hazırlayacağımız projeyi oluşturduk. Bir de bu User Control ü kullanacağımız WPF uygulaması oluştuyoruz. İşlemler sonrasında Solution Explorer ekranında aşağıdaki dosyalar oluşmuştur.



UserControl projesinin içerisinde yer alan UserControl1.xaml dosyanın içerisine aşağıda yer alan kod bloğunu ekliyoruz.

UserControl1.xaml
<UserControl x:Class="WpfMyControl.UserControl1"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                    mc:Ignorable="d"
                    d:DesignHeight="300" d:DesignWidth="300">
    <Canvas>
        <Path Fill="Blue" Margin="15,15,15,15">
            <Path.Data>
                <EllipseGeometry x:Name="GeometrikEllipsim" Center="0,0" RadiusX="15" RadiusY="15"/>
            </Path.Data>
            <Path.Triggers>
                <EventTrigger RoutedEvent="Path.Loaded">
                    <BeginStoryboard Name="BaslaAnimasyon">
                        <Storyboard>
                            <PointAnimation Storyboard.TargetProperty ="Center" Storyboard.TargetName="GeometrikEllipsim"
                                                    Duration="0:0:3" From="0,0" To="156,267" RepeatBehavior="Forever"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Path.Triggers>
        </Path>
    </Canvas>
</UserControl>

User Control 'ü oluşturduk. Şimdi ise oluşturulmuş olan User Control 'e ikon ekleyeceğiz. Sebebi ise Toolbox 'a eklendiğinde kontrolün yanında bizim istediğimiz ufak bir ikonun gözükmesidir.

İlk olarak yapılması gereken UserControl1.xaml.cs kod dosyasını Using System.Drawing isim alanını eklemek olacaktır. Bu isim alanını projemize ekleyeceğimiz ikonu göstermek için kullanacağız. Ayrıca ekleyecek olduğumuz resmin sürekli projemizde entegre olabilmesi için Resource dosyasına ekliyoruz. Peki Resource lara nereden ulaşabiliriz. Visual Studio 2010 ekranında yer alan menülerden Project-> ProjectProperties ->Resources adımlarını izleyerek ulaşılabilmesi mümkündür.



İkon oluşturduktan ya da var olan bir ikonu ekledikten sonra bu resme ilişkin özelliklerden resource dosyasına gömülü olarak çalışmasını belirten seçeneği seçiyoruz.



Oluşturma işlemi gerçekleştirilen UserControl 'ün cs kod dosyasına resource içerisine eklemiş olduğumuz resmi görebilmesi için aşağıdaki gibi bir düzenleme yapıyoruz

UserControl1.xaml.cs
using System.Windows.Controls;
using System.Drawing;

namespace WpfMyControl
{
    /// <summary>
    /// Interaction logic for UserControl1.xaml
    /// </summary>
    ///
    [ToolboxBitmap(typeof(UserControl1))]
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
    }
}

Artık UserControl oluşturma işlemini tamamlamış bulunuyoruz. Uygulamamızı built ettikten sonra WPF projelerinde yer alan Toolbox 'larda nasıl kullanılacağını inceleyelim.

Genel .Net bilgilerimizden ötürü eğer bir sınıf, control v.b. projeler derlendiği zaman arka planda kullanılabilir bir *.dll dosyası oluşturulmaktadır. Bizlerde WPF uygulaması açıkken toolbox üzerinde sağ tıklama yaptıktan sonra ChoosItems seçeneğine tıklayarak oluşturulan dll 'i ekliyoruz ve çalışabilir duruma geliyoruz.



Oluşturulan UserControl 'ün dll 'ini buluyoruz.



Eklediğinizde toolbox içerisinde kontrol aşağıdaki gibi gözükecektir.



Bu işlem sonucunda kendi User Control ümüzü olşuturmuş ve WPF uygulamalarında kullanılmak üzere toolbox ın içerisine eklemiş bulunuyoruz. Tekrar hatırlatmak gerekirse özellikle iş uygulamalarında benzer işlemleri tekrar tekrar yaparak çalışmak istenmeyen durumlar arasında yer almaktır. User Control ler yardımı ile çok fazla kullanılacak bir işlemi sadece bir kez hazırladıktan sonra onu bileşen olarak sürekli kullanabilmemize olanak vardır. Bu işlem bizim süreçlerimizi oldukça oldukça hızlandıracaktır.

Umarım yararlı olabilmiştir.

Turhal Temizer

info@turhaltemizer.com
http://turhal.blogspot.com 
Uygulamanın kaynak kodlarınaerişebilmeniz mümkündür.