Herkese Merhabalar Arkadaşlar;
XAMLNedir? XAML, Microsoft ürünlerine .Net Framework 3.0 ve üzeri ile beraber gelen bir teknolojidir. Windows Phone 7 uygulaması, ya da bir Windows8 Metro uygulaması ya da web sitesi tasarımında arayüzü tasarlamak için geliştirilmiştir. EXtensible Markup Language yani XML teknolojisi ile yapı olarak benzerdir. Ve XAML yazarkende XML’ de olduğu gibi belli başlı kurallara uymak gerekiyor. Örneğin açılan her tagın kapatılması gibi… XML teknolojisine hakim developerlar XAML’ da zorluk çekmeyeceklerdir. XAML’ da arayüzü tasarlarken arka tarafta ise C#’ ta ya da VB’ de programlamasını yapabiliyorsunuz. Uzantısı ise arayuzumuz.xaml.cs (C#’ ta), arayuzumuz.xaml.vb(VB’ de) şeklinde oluyor. Silverlight uygulamaları geliştirirkendizim, konum ve etkileri hakkındaki bilgiler bize XAML tarafından verilir.
Örneğin yeni bir Windows Phone 7 uygulaması geliştirirken karşımıza çıkan MainPage.XAML dosyasının kodları aşağıdaki gibi olmaktadır.
<phone:PhoneApplicationPage x:Class="PhoneApp1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="True"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid> </Grid> <!--Sample code showing usage of ApplicationBar--> <!--<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1"/> <shell:ApplicationBarMenuItem Text="MenuItem 2"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>--> </phone:PhoneApplicationPage>