Uygulama Ile Birlikte WPF Nedir?
- Sevdanur GENC

- Jan 1, 2012
- 2 min read
WPF (Windows Presentation Foundation)
.Net' in grafik alt yapisini olusturan XAML tabanli sistemlerdir. Son kullanicilar icin Microsoft Windows programlarinda yuksek derecede gorsel arayuz saglar. Bu nedenle gelecegin programlama teknolojisi denilebilmektedir.
Ayrica Windows 7 ve WPF ayrilmaz bir ikili gibi gozukmektedir. bunun sebebi Win 7'nin sundugu Multitouch ve Microsoft'un yeni nesil arayuz teknolojisi Surface'ten faydalanarak kullanici arayuz deneyimi yepyeni bir boyuta tasinabilecektir. Web tabanli bir WPF teknolojisi olan Microsoft Silverlight ile uygulamalar masaustu arabirim zenginliginden hicbirsey kaybetmeden web ve mobil ortamlara tasinabilir, MacOs ve Linux gibi tabanli istemcilerle de calistirilabilir hale gelmistir.
Simdi Microsoft Visual Studio 2010 ile birlikte ufak bir uygulama yaparak biraz WPF teknolojisini basit bir sekilde inceleyelim... New Project 'den Visual C# seciliyken WPF Application'i secip projenin ismini veriyor ve yeni projemizi olusturuyoruz.
Standart olarak projemiz ilk acildiginda asagida ki gibi XAML komutlarinin bulundugu bir pencere acilacaktir.
Yapacagimiz uygulama Red-Green-Blue renkleriyle ilgili olacak...
MainWindow'umuzun uzerine bir ToolBox'imizdan 3 adet ScrollBar ve 1 adet'te Rectangle nesnesi ekliyoruz.
Sonrasinda tum scrollbar'larin event'larini olusturuyor ve kodlarini yaziyoruz.
XAML Kod ;
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF Ornegi 01" Height="350" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="446*" />
<ColumnDefinition Width="57*" />
</Grid.ColumnDefinitions>
<ScrollBar Height="167" HorizontalAlignment="Left" Margin="21,31,0,0" Name="scrollBar1" VerticalAlignment="Top" Width="18" ValueChanged="Red_ValueChanged" Maximum="255" SmallChange="10" LargeChange="10"/>
<ScrollBar Height="167" HorizontalAlignment="Left" Margin="75,31,0,0" Name="scrollBar2" VerticalAlignment="Top" Width="18" ValueChanged="Green_ValueChanged" Maximum="255" SmallChange="10" LargeChange="10" />
<ScrollBar Height="167" HorizontalAlignment="Left" Margin="134,31,0,0" Name="scrollBar3" VerticalAlignment="Top" Width="18" ValueChanged="Blue_ValueChanged" Maximum="255" SmallChange="10" LargeChange="10" />
<Rectangle Height="169" HorizontalAlignment="Left" Margin="217,29,0,0" Name="rectangle1" Stroke="Black" VerticalAlignment="Top" Width="229" />
<Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="21,209,0,0" Name="label1" VerticalAlignment="Top" />
<Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="75,209,0,0" Name="label2" VerticalAlignment="Top" />
<Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="134,209,0,0" Name="label3" VerticalAlignment="Top" />
</Grid>
</Window>
Kaynak Kod ;
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } byte r = 0, g = 0, b = 0; private void Red_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { r = Convert.ToByte(e.NewValue); rectangle1.Fill = new SolidColorBrush(Color.FromArgb(255, r, g, b)); label1.Content = r.ToString(); } private void Green_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { g = Convert.ToByte(e.NewValue); rectangle1.Fill = new SolidColorBrush(Color.FromArgb(255, r, g, b)); label2.Content = g.ToString(); } private void Blue_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { b = Convert.ToByte(e.NewValue); rectangle1.Fill = new SolidColorBrush(Color.FromArgb(255, r, g, b)); label3.Content = b.ToString(); } }
Comments