Ana içeriğe atla

WPF - UserControllerin Toolbox 'a Eklenmesi

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.)

mak58_1_1

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.

mak58_1_2

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.

mak58_1_3

İ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.

mak58_1_4

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.

mak58_1_5

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

mak58_1_6

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

mak58_1_7

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

Yorumlar

Bu blogdaki popüler yayınlar

SharePoint 2010 - Content Query for Blog Posts

I hope this post will help many of you feel comfortable with using the Content Query Web Part. In this post I will walk you through the process of creating a content query web part and configuring it to show custom field types. I will also give details on how to use XSLT to stylize and format the data being pulled. I will be using the following scenario as an example. Say that you had a site collection with a top level publishing site. This publishing site would display a the most recent blog posts from all blog sites within its own site collection. To solve this problem we will use a Content Query Web Part and a customized ItemStyle.xsl using XSLT. Please note that the “SharePoint Server Publishing Infrastructure” needs to be enabled at the site collection to display the content query web part. Step 1: Add a Content Query Web Part to Page Navigate to the site that you want the blog posts to show up and click on edit page. Under Editing Tools in the Ribb

.Net 3.5 SP1 – Full Install Packages (Tam Kurulum)

.Net Framework 3.5 SP1 ‘i bilgisayarınıza kurmak istediğinizde normal şartlar altında Microsoft ‘un sitesinde 2.7 mb ‘lik bir dosya indirir ve kurulum işlemlerinizi bu dosya üzerinden yaparsınız. Ancak bu indirmiş oluğunuz dosya yaklaşık 220 mb ‘lik veriyi internetten indirerek kurulum yapmaktadır. İnternet çıkışına izin verilmeyen kurumlar ve kuruluşlar için bu durum bir sıkıntı oluşturmaktadır. Bu sebepten ötürü aşağıdaki link yardımı ile tam yükleme paketini indirdikten sonra hiç internet ihtiyacınız olmadan .Net 3.5 SP1 ‘i kurabilmeniz mümkün olacaktır. Link

Microsoft .Net Framework 3.0 & 3.5 Full Download

.Net ile yazılım geliştiricilerin özelliklede Framework 3.x ile geliştirenlerin başlıca sorunu kurulum dosyası hazırladıklarında .Net Framework ‘ü kurmak için internete bağlanmalarıdır. Çünkü kurulum dosyaları 2-3 MB arasıdır. Yavaş internet kullanıcılarında ve kurumsal şirketlerde projelerin çok ama çok geç kurulmasına sebep olmaktadır. Bu sebepten ötürü sizlere .Net 3.x Framework ‘lerin tam kurulabilir paketlerinin linklerini sizlere sunuyorum. Umarım yararlı olur. Microsoft .NET Framework 3.5 Setup 32-bit version (Boyut(Size): ~200MB Microsoft .NET Framework 3.0 Setup 32-bit Version (Boyut(Size): ~50MB) 64-bit Version (Boyut(Size): ~90MB) Herkese iyi çalışmalar, kolay kurumlar diliyorum. :)