Perşembe, Nisan 29, 2010

WPF – ComboBox & LivePreview

Windows Presentation Foundation (WPF) geçtiğimiz günlerde Visual Studio 2010 ve .Net Framework 4.0 'ın çıkışı ile 4.0 sürümüne geçiş yapmıştır. Gelen yenilikleri, iyileştirilmeleri ve diğer detaylı ilerleyen zamanlarda inceliyor olacağız. Ancak daha önceden başlamış olduğumuz ve WPF teknoloji içerisinde yer alan kontrolleri detaylı olarak ne iş yaptıklarını ve nasıl kullanılabileceklerini incelediğimiz çalışmalar yaptığımız yazılarımıza devam ediyor olacağız.

WPF yaygınlaştıkça ve daha önceden hazırlanan windows form uygulamaları WPF uygulama yapısına taşınma vakalarını çok daha sık bir şekilde rastlar olduk. WPF 'in bize sağladığı kolaylıkları ve olanakları yazılarımızda parça parça değinmeye çalışıyoruz. Günümüzde geliştirilen uygulamalara göz attığımızda eskiye oranla bazı yenilikler görebiliyoruz. Örneğin bunlardan benim en çok hoşuma gideni stil üzerinden bir değişiklik yapmak istediğimizde o değişikliği seçmek anlık görerek (live preview) nasıl bir sonuç elde edebileceğimizi görmek ve sonrasında beğendiğimizi seçerek işlemlerimize devam etmek olmuştur. Bu konuya en güzel örnek ise Office System 2007 ailesi ile gelen live preview özelliğini gösterebiliriz. Örneğin Word dökümanı olarak hazırlanmış olan paragraflar topluluğunu düşünelim. Bu metnin yazı tipini değiştirmek istediğimizde eskiden tek tek seçer beğenmezsek geri alır ve bir diğerini seçerdik. Şimdi ise işler biraz daha kolaylaşmış durumda. Değiştirmek istediğimiz metini seçtikten sonra yapmamız gereken yazı tiplerinin üzerinde farenin imlecini dolaştırmak olacaktır. Sonrasında olacak olan değişikler anlık olarak görüntülenecektir. Bu bizi çok büyük zaman kaybından kurtarmaktadır. Tabii tahmin edeceğiniz üzere bu uygulama şekli WPF ile yapılmaktadır. Biz bu yazımızda combo box içerisinde olan değerleri form üzerinde anlık yani live preview özelliği ile nasıl görüntüleyebileceğimizi ve kullanabileceğimizi inceliyor olacağız.

Not: Yazı içerisinde kullanılacak olan örnek Visual Studio 2010 ve .Net Framework 4.0 üzerinde geliştirilecektir.

Hatırlayacağınız üzere daha önceden kullanmış ve incelemiş olduğumuz WPF kontrollerine ilişkin olan özellikler yardımı ile yapmak istediğimiz işlemleri kolaylıkla yapabiliyorduk. Bu sefer biraz daha farklı bir kaç işlem yapacağız. İlk olarak ComboBox kontrolünün dependency nesnesini kullanacağız. Sonrasında da ComboBox 'in olaylarından OnSelectionChanged 'i kullanarak bizim için yararlı olacak iki olay daha ekleyerek işlemi tamamlamış olacağız.

Öncelikle proje bir tane sınıf ekliyor ve içerisine aşağıda yer alan kod parçasını ekliyoruz.

using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;

namespace LivePreCB
{
    public class LivePreview : ComboBox
    {
        #region DependencyProperty LivePreviewItem

        /// <summary>
        /// Gets or sets the live preview item.
        /// </summary>
        /// <value>The live preview item.</value>
        public object LivePreviewItem
        {
            get { return GetValue(LivePreviewItemProperty); }
            set { SetValue(LivePreviewItemProperty, value); }
        }

        /// <summary>
        /// Dependency property to get or set the live preview item
        /// </summary>
       public static readonly DependencyProperty LivePreviewItemProperty =
           DependencyProperty.Register("LivePreviewItem", typeof(object), typeof(LivePreview),
           new FrameworkPropertyMetadata(null));

       #endregion

       #region Construction

        /// <summary>
        /// Initializes a new instance of the <see cref="LivePreviewComboBox"/> class.
        /// </summary>
        public LivePreview()
        {
             DependencyPropertyDescriptor.FromProperty(IsDropDownOpenProperty, typeof(LivePreview))
                 .AddValueChanged(this, OnDropDownOpenChanged);
        }

        #endregion

        #region Overrides

        /// <summary>
        /// See <see cref="ComboBox.OnSelectionChanged" />
        /// </summary>
        protected override DependencyObject GetContainerForItemOverride()
        {
            var container = base.GetContainerForItemOverride();
            var comboBoxItem = container as ComboBoxItem;
            if (comboBoxItem != null)
            {
                DependencyPropertyDescriptor.FromProperty(ComboBoxItem.IsHighlightedProperty, typeof(ComboBoxItem))
                    .AddValueChanged(comboBoxItem, OnItemHighlighted);
            }
            return container;
        }

        /// <summary>
        /// See <see cref="ComboBox.OnSelectionChanged" />
        /// </summary>
        protected override void OnSelectionChanged(SelectionChangedEventArgs e)
        {
            LivePreviewItem = SelectedItem;
            base.OnSelectionChanged(e);
        }

         #endregion

         #region Private Helpers

         private void OnItemHighlighted(object sender, EventArgs e)
         {
             var comboBoxItem = sender as ComboBoxItem;
             if (comboBoxItem != null && comboBoxItem.IsHighlighted)
                 {
                     LivePreviewItem = comboBoxItem.DataContext;
                 }
         }

         private void OnDropDownOpenChanged(object sender, EventArgs e)
         {
             if (IsDropDownOpen == false)
             {
                 LivePreviewItem = SelectedItem;
             }
         }
         #endregion
    }
}

Hazırlamış olduğumuz bu sınıf yardımı ile Combox 'ın standart SelectionChanged olayını geliştirerek kontrolün içerisinde yer alan değerlerin anlık olarak görüntülenmesi için gerekli olacak olayları hazırlamış oluyor. Şimdi tek yapmamız gereken bu sınıfı kullanmak olacaktır.

ComboBox kontrolünü kullanmadan önce ilk olarak içerisinde kullanılacak olan değerleri ekleyeceğiz. Bunun için IEnumerable<> generic arayüzünü kullanacak ve çıkış değeri olarak System.Windows.Media isim alanı altında bulunan ve sistemin renk kütüphanesini kullanan Brush sınfı yardımı ile renkleri ekliyor olacağız.

using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;

namespace LivePreCB
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public IEnumerable<Brush> TestData
        {
            get
            {
                yield return new SolidColorBrush(Colors.Red);
                yield return new SolidColorBrush(Colors.Purple);
                yield return new SolidColorBrush(Colors.Pink);
                yield return ne SolidColorBrush(Colors.RosyBrown);
                yield return new SolidColorBrush(Colors.PapayaWhip);
                yield return new SolidColorBrush(Colors.PaleTurquoise);
                yield return new SolidColorBrush(Colors.Peru);
            }
        }
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
          
}
    }
}

Generic koleksiyona renk bilgilerini ekledik ve DataContext yardımı ile sınıf içerisinde yer alan koleksiyonları almasını belirterek veri kümesini hazırlamış olduk. Artık yapmamız gereken bir nokta kaldı. Oluşturmuş olduğumuz LivePreview sınıfını XAML kod içerisinde xml namespace olarak gösterdikten sonra oluşturmuş olduğumuz TestData koleksiyonunu veri kaynağı olarak bağlayıp LivePreview özellikli ComboBox ile ilişkilendirerek işlemleri tamamlıyoruz.

<Window x:Class="LivePreCB.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:l="clr-namespace:LivePreCB"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="16">
        <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
            <TextBlock Text="Seçilen Değer" />
            <Rectangle Width="20" Height="20" Fill="{Binding SelectedItem, ElementName=liveBox}" Margin="16" />
            <TextBlock Text="Anlık Görüntüsü" />
            <Rectangle Width="20" Height="20" Fill="{Binding LivePreviewItem, ElementName=liveBox}" Margin="16"/>
        </StackPanel>
        <l:LivePreview x:Name="liveBox" Width="80" ItemsSource="{Binding TestData}" SelectedIndex="0" Margin="16" VerticalAlignment="Top">
            <l:LivePreview.ItemTemplate>
                <DataTemplate>
                    <Rectangle Width="20" Height="20" Fill="{Binding}" />
                </DataTemplate>
            </l:LivePreview.ItemTemplate>
        </l:LivePreview>
    </StackPanel>
</Window>

LivePreview özellikli ComboBox kontrolü hazır duruma gelmiş oluyor. Bu işlemler sonucunda uygulamayı çalıştırdığımız ekran görüntüsü aşağıdaki gibi olacaktır.

ComboBox LivePreview

Oluşan sonuç tam istediğimiz gibi oluşmuştur. Yukarıda görmüş olduğunuz örneği sadece renklere göre değil aklınıza gelen diğer birçok özelliğe görede uygulamayabilmeniz mümkündür. Önemli olan hayal etmenizdir...

Sonuç olarak bu yazımızda Office System 2007 ile hayatımıza giren LivePreview özelliğini ComboBox kontrolüne nasıl aktarabileceğimizi ve kullanabileceğimizi incelemeye çalıştık.

Umarım sizler için yararlı olabilmiştir.

Kaynak
MSDN

Turhal Temizer

info@turhaltemizer.com

Çarşamba, Nisan 28, 2010

WPF – Calendar

Windows Presentation Foundation (WPF) geçtiğimiz günlerde Visual Studio 2010 ve .Net Framework 4.0 'ın çıkışı ile 4.0 sürümüne geçiş yapmıştır. Gelen yenilikleri, iyileştirilmeleri ve diğer detaylı ilerleyen zamanlarda inceliyor olacağız. Ancak daha önceden başlamış olduğumuz ve WPF teknoloji içerisinde yer alan kontrolleri detaylı olarak ne iş yaptıklarını ve nasıl kullanılabileceklerini incelediğimiz çalışmalar yaptığımız yazılarımıza devam ediyor olacağız.

Masaüstü, web ya da mobil uygulamalara göze aldığımızda sıklıkla kullanılan belirli bileşenler(component) bulunmaktadır. Bunlar programcılığın özellikle de form üzerinde uygulama geliştiren yazılımların kesinlikle hakim olması gereken bileşnlerdir. Bizde yazımızda bu bahsetmiş olduğumuz bileşenler arasında yer alan Calendar kontrolünü inceliyor olacağız.

Şimdi Calendar kontrolü üzerinde nasıl bir işlem yapılabilir ki diye düşünüldüğünde üzerinde herhangi bir tarih seçtirir ve bu seçtirmiş olduğum tarihi ya uygulama içerisinde kullanır ya da veri tabanına kaydederek işlemi tamamlamış olurum. Aslında bu düşündüğümüz kesinlikle doğru ve WPF içerisinde de bu işlemleri sorunsuzca eskiden yapabildiğimiz gibi yapabiliyoruz. Ancak bunların üzerine eklenen ek özellikler yer almaktadır. Ne gibi? Örnek olarak aklımıza şöyle bir durum getirelim. Biz belirli tarihlerde düzenlenen kongreleri kontrol eden bir otomasyon sistemi hazırlıyoruz. Bu sistemde yer alan kongrelerin doğaş olarak başlangıç ve  bitiş tarihleri bulunmaktadır. Bunları son kullanıcıya seçtirtmek isteyen yazılımcı form üzerine başlangıç ve bitiş tarihlerinin alınabildiği iki adet calendar kontrolü ekler ve gerekli işlemleri yaparak çalışmasını tamamlar. Kullanılan bu teknikte kesinlikle ama kesinlikle bir hata var demiyoruz. Ancak bazı istisnai durumlarda sorunlar çıkabilmektedir. Ne gibi bir sorun diye örneklemek gerekirse; 2 hafta süren bir kongreyi ele alalım. Bu kongre birinci hafta pzt,sal,çrş günleri düzenlenmektedir. İkinci hafta ise prş,cum günleri düzenlenmektedir. Ancak biraz önce hazırlamış olduğumuz sistemi göz önüne aldığımızda başlangıç tarihini 1 Ocak bitiş tarihini de 13 Ocak olarak seçecek ve işlem tamamlanacaktır. Bu yapılan işlemler sonrasında da kongreyi düzenleyen kurumlar 2 haftalık bir bütçe ayırmaktadır. Fakat burada çok önemli bir nokta gözümüze çarpmakta. Kongre iki hafta sürmüyor ki!!! Sadece 5 iş günü sürmektedir. Bu durumda biz bu günleri tek tek seçebilmemiz ihtiyacı doğuyor. İlk olarak vermiş olduğumuz örnekte hatırlayacağınız üzere iki tane calendar bileşeni bulunmaktaydı. Yapmış olduğumuz işlemi iki bileşen yerine tek bileşen ile tarih aralığını seçtirerekte yaptırabilme istekleri aklımıza gelmektedir. Bu işlemleri 3. parti bileşenler ile yapabilmek mümkünken bizlerin ana amacı bu işlemi kendi kontrollerimiz yardımı ile yapmaktadır. Çünkü 3. parti bileşenlerin ekstra bir maliyeti bulunmaktadır. Kullanımı oldukça basit olan calendar kontrolü üzerinde yapabileceğimiz istekleri sıraladığımızda bayaa fazla işlem yapması gerektiği fikri ortaya çıkıyor. İşte biz bu yazımızda calendar kontrolünün WPF yardımı ile yukarıda açıklamaya çalıştığımız örnekleri nasıl yapabileceğimizi açıklamaya çalışıyor olacağız.

Calendar bileşenini incelerken yapacak olduğumuz uygulamayı Visual Studio 2010 ortamında ve .Net Framework 4.0 'da inceliyor olacağız.

DisplayDate

Şimdi ile olarak basit olarak ekrana calendar bileşeni ekliyor ve herhangi bir gün değeri atayarak örneklerimize başlıyoruz.

<Calendar DisplayDate="01/01/2010"/>

Tahmin edeceğiniz üzere eklediğim DisplayDate özelliğine eklemiş olduğumuz değer sonrasında ocak ayı bizlerin karşısına gelecektir. Eğer ki bu özelliği kullanmazsak şu anın bulunduğu ay bilgisi ve günler gelecektir.

WPF Calendar

SelectionMode

İki tarih aralığını seçerken nasıl bu işlemi nasıl yapabileceğimizi nasıl yapabileceğimizi daha önceden açıklamış ve ekstradan karşımıza çıkan istisnai durumların neler olacağını açıklamıştık. İki tarih aralığını seçerken ya da bu tarihlerin arasında kalan bazı günleri seçmek istediğimizde Calendar bileşeninin SelectionMode özelliğine MultipleRange, SingleRange, SingleDate, None değerlerinden birini atamak yeterli olacaktır.

Kullanım şekli;

<Calendar SelectionMode="MultipleRange"/>

Şimdi bu değerleri kullanarak calendar bileşenini ne kadar esnekleştirebileceğimize göz atalım...

MultipleRange

Rastgele tarih aralıklarını seçebilmemize olanak tanır. Kongre örneğinde bahsetmiş olduğumuz iki hafta gibi gözüken bir ogranizasyon bütçesinin aslında beş gün olduğunu göstermek için bu değer kullanılabilir.

WPF Calendar

SingleDate

Eğer ki SelectionMode 'a SingleDate değerini verirsek son kullanıcı yalnızca tek bir tarih seçebilecektir.

WPF Calendar

SingleRange

Adında anlaşılacağı üzere sürekli tarih aralığı seçmemize olanak tanımaktadır.

mak85_3

None

Sadece tarihleri göstermek amacıyla calendar bileşenini kullanılıyorsa bu özellik idealdir. Çünkü son kullanıcının takvim üzerinden herhangi bir değer seçmesine olanak vermemektedir.

Blackout Dates

Takvim kontrolünü kullanırken seçilmesi istenmeyen tarihlerin olması durumunda SelectionMode özelliğine BlackoutDates değerini atayarak bizlerin seçebileceği değerlerin seçilemez duruma getirilebilmesine olanak tanımaktadır. Ayrıca seçilemez tarihlerin son kullanıcı tarafından rahatlıkla anlaşılabilmesi için bu tarihlerin üzerine çarpı da koymaktadır.

<Calendar SelectionMode="{Binding SelectedItem, ElementName=selectionmode}" >
    <Calendar.BlackoutDates>
        <CalendarDateRange Start="04/01/2010" End="04/27/2010" />
    </Calendar.BlackoutDates>
</Calendar>

 WPF Calendar

Calendar Mode

Bildiğiniz üzere calendar kontrolünü kullanırken sürekli olarak gün detayına kadar görüntülenmesi gerekiyordu. Ancak WPF yardımı ile Month,Year ve Decide şeklinde görüntüleyebilinmesi mümkündür. Bu değerleri DisplayMode özelliğine atayarak kullanıyoruz.

<Calendar DisplayMode="Decide"/>

WPF Calendar

Calendar bileşenin bütün özelliklerini detaylı bir şekilde inceledik. Şimdi işlemiş olduğumuz özelliklerin hepsini kolayca kullanabilmek için basit bir uygulama hazırlayacağız. Uygulama tamamen XAML üzerinde olacak ve detaylarına girmeden sadece kaynak kodları yer alacak. Çünkü içerisinde yer alan bütün özelliklere değindik ve kullanmış olduğumuz bütün kontrolleri daha önceki yazılarımızda incelemiştik.

<Window x:Class="WPFCalendar.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:System="clr-namespace:System;assembly=mscorlib"
    Title="MainWindow" Height="350" Width="525">
<Window.Resources>
    <ObjectDataProvider x:Key="calendarSelectionMode"
            MethodName="GetNames" ObjectType="{x:Type System:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="CalendarSelectionMode" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
    <ObjectDataProvider x:Key="displayModes"
            MethodName="GetNames" ObjectType="{x:Type System:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="CalendarMode" />
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
</Window.Resources>
<Grid>
    <TabControl TabStripPlacement="Left">
        <TabItem Header="Selection Modes">
            <DockPanel>
                <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="8">
                    <TextBlock Margin="4,0" VerticalAlignment="Center">Selection Mode:</TextBlock>
                    <ComboBox x:Name="selectionmode" ItemsSource="{Binding Source={StaticResource calendarSelectionMode}}" SelectedIndex="0" />
                </StackPanel>
                <Calendar SelectionMode="{Binding SelectedItem, ElementName=selectionmode}" />
            </DockPanel>
        </TabItem>
    <TabItem Header="Blackout Dates">
        <Calendar SelectionMode="{Binding SelectedItem, ElementName=selectionmode}" DisplayDate="01.01.2010" >
             <Calendar.BlackoutDates>
                 <CalendarDateRange Start="01/01/2010" End="01/06/2010" />
             </Calendar.BlackoutDates>
        </Calendar>
    </TabItem>
    <TabItem Header="Date Range">
        <Calendar DisplayDateStart="01/01/2010" DisplayDateEnd="01/15/2010" />
    </TabItem>
    <TabItem Header="DisplayMode">
        <DockPanel>
            <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="8">
                <TextBlock Margin="4,0" VerticalAlignment="Center">Selection Mode:</TextBlock>
                <ComboBox x:Name="displayModes" ItemsSource="{Binding Source={StaticResource displayModes}}" SelectedIndex="0" />
            </StackPanel>
            <Calendar DisplayMode="{Binding SelectedItem, ElementName=displayModes}" />
        </DockPanel>
     </TabItem>
   </TabControl>
  </Grid>
</Window>

Yukarıdaki kod parçasını derleyip çalıştırdıktan sonra karşımıza gelen ekran görün

WPF Calendar

Hazırlamış olduğumuz bu son örnek yardımı ile Calendar bileşenini incelemeyi tamamlamış oluyoruz. Umarım sizler için yararlı olabilmiştir.

Kaynak
MSDN

Turhal Temizer

Salı, Nisan 27, 2010

Yazgeliştir Zirvesi Mayıs 2010






Yazgeliştir etkinliklerinin en yenisi olan Yazgeliştir Zirvelerinin ilki 29 Mayıs Cumartesi günü Microsoft İstanbul ofisinde gerçekleştirilecek. Etkinlikte Microsoft Regional Director (RD), Microsoft Most Valuable Professional (MVP) ve Yazgeliştir editörleri konuşmacı olacak. Microsoft’un çeşitli yazılım geliştirme ürün ve araçları ile ilgili seminerlere katılabilir, Visual Studio 2010, SQL Server 2008 R2, ASP.Net 4.0, Sharepoint 2010 ile gelen yenilikleri konunun uzmanlarından öğrenebilirsiniz. Etkinlikte aynı zamanda Yazgeliştir editörleri ile bir araya gelip kendilerine danışmak istediğiniz konularda sorular sorabilirsiniz.


29 Mayıs 2010, Microsoft İstanbul Ofisi


Kayıt olmak için
tıklayın!

Perşembe, Nisan 22, 2010

Enterprise Library 5.0

Data, ön bellek, şifreleme, istisnai durumlar ve daha bir çok özelliği hazırlamış olduğumuz uygulamalarda daha esnek ve kolay geliştirmemize olanak tanıyan Enterprise Library ‘nin 5 sürümünü aşağıdaki linkten indirebilirsiniz. Bizlere sağladığı olanaklar aşağıdan erişebilirsiniz.

  • •Major architectural refactoring that provides improved testability and maintainability through full support of the dependency injection style of development
  • •Dependency injection container independence (Unity ships with Enterprise Library, but you can replace it with a container of your choice)
  • •Programmatic configuration support, including a fluent configuration interface and an XSD schema to enable IntelliSense
  • •Redesign of the configuration tool to provide:
    •     •A more usable and intuitive look and feel
    •     •Extensibility improvements through meta-data driven configuration visualizations that replace the requirement to write design time code
    •     •A wizard framework that can help to simplify complex configuration tasks
    • •Data accessors for more intuitive processing of data query results
    • •Asynchronous data access support
    • •Honoring validation attributes between Validation Application Block and DataAnnotations
    • •Integration with Windows Presentation Foundation (WPF) validation mechanisms
    • •Support for complex configuration scenarios, including additive merge from multiple configuration sources and hierarchical merge
    • •Optimized cache scavenging
    • •Better performance when logging
    • •A reduction of the number of assemblies
    • •Support for the .NET 4.0 Framework and integration with Microsoft Visual Studio 2010
    • •Improvements to Unity

    İyi çalışmalar…

 

Salı, Nisan 13, 2010

WPF – TextBox SpellCheck

WPF ile uygulama hazırlamanın kolaylıklarından onlarca kez bahsettik. Bu sefer çook kısaca benim en çok hoşuma giden özelliklerden birine değineceğiz. Türkçeye metin düzeltme ya da kelime düzeltme olarak çevrilen Spell Checker özelliği.

Son kullanıcıların metin yazabilmesi için genellikle TextBox bileşenini kullandırırız. Bu güzel bileşenin özelliklerinde WPF ile birlikte gözle görülür bir gelişme yaşanmıştır. Bunlardan bir tanesine SpellCheck özelliğidir. Form üzerine TextBox bileşenini ekledikten sonra özelliklerini aşağıdaki gibi basitçe kullanıyoruz.

<StackPanel>
        <TextBlock Text="Dunya çok güzelmiş."/>
        <TextBox SpellCheck.IsEnabled="True" Language="EN-us"></TextBox>
    </StackPanel>

Koyu renk ile belirtilmiş olan bölümü ekledikten sonra uygulamayı çalıştırıyor ve çıkan sonucun nasıl olduğuna göz atıyoruz.

WPF TextBox Turhal

Yukarıdaki ekranda da gördüğümüz üzere Office Word ‘den de alışık olduğumuza benzer bir görünüm kazanmış oluyor ve sisteme tanımlı olan dil kütüphanelerini kullanabilmemize olanak tanımış oluyoruz.

Ayrıca bizlerin harici olarak oluşturmuş olduğumuz kütüphaneleri de kullanabilmemiz mümkündür.

İyi günler…

Yazgeliştir Webinerleri

YG_Webiner_Logo

Nisan ve Mayıs aylarında 4 farklı webiner gerçekleştireceğiz ve değineceğimiz konular Microsoft CRM Dynamics and Extendibility, WCF Ria Services, Windows Mobile 6.5 ile Web Widgets Geliştirmek, Windows Embedded CE 6.0 R3 - Silverlight Uygulaması Geliştirmek olacak.
Tüm Yazgeliştir topluluğunun davetli olduğu bu webinerlere aşağıdaki linklerden katılabilirsiniz.
Not: Webinerlere katılmak için bilgisayarınızda Windows Live Meeting'in kurulu olması gerekmektedir. Ayrıca webiner linkleri webiner saatinden 30 dakika önce aktifleşecektir.

Microsoft Crm Dynamics and Extendibility
14 Nisan 21:00-22:00
Eralp Erat
https://www.livemeeting.com/cc/usergroups/join?id=K9RBHB&role=attend

WCF Ria Services
28 Nisan 21:00-22:00
Emre Coşkun
https://www.livemeeting.com/cc/usergroups/join?id=BNK9WS&role=attend

Windows Mobile 6.5 - Web Widgets Geliştirmek
12 Mayıs 21:00-22:00
Ekin Özçiçekçiler
https://www.livemeeting.com/cc/usergroups/join?id=GB8FC5&role=attend

Windows Embedded CE 6.0 R3 - Silverlight Uygulaması Geliştirmek
26 Mayıs 21:00-22:00
Hasan Aytış
https://www.livemeeting.com/cc/usergroups/join?id=PRP2G2&role=attend

Pazartesi, Nisan 12, 2010

Visual Studio 2010 – RTM

Visual Studio 2010 çıktı.

Uzun bir gelişme sürecinin ardından Visual Studio 2010 resmi olarak satışa sunuldu.Visual Studio 2010

IDE üzerinde WPF ‘in nimetlerinden yararlanılarak yapılan değişiklikler, WWF ‘in tasarımın ve akış tiplerinin yenilenmesi, F# dilinin entegre edilmesi, MVC 2 ile beraber gelmesi ve diğer bir çok özelliği ile bugün VS2010 çıkmış bulunuyor. Deneme sürümünü indirip kurmak isteyenler aşağıda verecek olduğum linkten yararlanabilirler. Almak isteyenler için ise Visual Studio 2010 Ultimate satış fiyatı $11850. :)

http://www.microsoft.com/visualstudio/en-us/download