Windows 10 Geliştirme - XAML Denetimleri

XAML, Genişletilebilir Uygulama Biçimlendirme Dili anlamına gelir. Bir Kullanıcı Arabirimi çerçevesidir ve Windows için UI geliştirmeyi destekleyen kapsamlı bir denetim kitaplığı sunar. Bazılarının Düğme, Metin Kutusu ve Metin Bloğu gibi görsel bir temsili vardır; diğer kontroller, görüntüler vb. gibi diğer kontroller veya içerikler için kaplar olarak kullanılırken, tüm XAML kontrolleri“System.Windows.Controls.Control”.

XAML Gelişen Hikayesi

XAML, Windows Presentation Foundation (WPF), Silverlight ve şimdi Windows uygulamaları gibi birçok önemli Microsoft platformunda kullanılmaktadır. Şimdi, Microsoft Office 2016 aynı zamanda bir UWP uygulamaları ailesidir. XAML, UWP uygulamalarında kullanılabilecek çok güzel özellikler ve kontroller sağlayan zengin bir Platformdur.

Kontrollerin tam miras hiyerarşisi aşağıda gösterilmektedir.

Düzen Kontrolleri

Denetim Düzeni, uygulamanın kullanılabilirliği için çok önemlidir ve kritiktir. Uygulamanızda bir grup GUI öğesi düzenlemek için kullanılır. Yerleşim panellerini seçerken dikkate alınması gereken bazı önemli şeyler vardır -

  • Alt öğelerin konumları.
  • Alt öğelerin boyutları.
  • Üst üste binen alt öğelerin üst üste katmanlanması.

Listesi Layout Controls aşağıda verilmiştir -

S.No. Kontroller ve Açıklama
1

StackPanel

StackPanelXAML'de basit ve kullanışlı bir düzen panelidir. Yığın panelinde alt öğeler, yönlendirme özelliğine göre yatay veya dikey olarak tek bir satırda düzenlenebilir.

2

WrapPanel

İçinde WrapPanelalt öğeler, oryantasyon özelliğine göre soldan sağa veya yukarıdan aşağıya sıralı sırayla yerleştirilir. StackPanel ve WrapPanel arasındaki tek fark, tüm alt öğeleri tek bir satıra yığmaması, ancak kalan öğeleri boşluk kalmadığında başka bir satıra kaydırmasıdır.

3

DockPanel

DockPanelyatay veya dikey olarak birbirine göre alt öğeleri düzenlemek için bir alan tanımlar. DockPanel ile alt öğeleri Dock özelliği ile kolayca yukarı, aşağı, sağa, sola ve ortaya yerleştirebilirsiniz.

İle LastChildFill özelliği, son alt öğe, o öğe için ayarlandığında diğer dock değerlerinden bağımsız olarak kalan alanı doldurur.

4

Canvas

Canvassol, sağ, üst ve alt gibi herhangi bir tarafa göre olan koordinatlar kullanılarak alt öğelerin açıkça konumlandırılabildiği temel düzen panelidir. Tipik olarak Canvas, 2D grafik öğeleri (Elips, Dikdörtgen vb.) İçin kullanılır, ancak UI öğeleri için kullanılmaz, çünkü mutlak koordinatların belirtilmesi, bir XAML uygulamasında yeniden boyutlandırma, yerelleştirme veya ölçekleme sırasında sorun yaratır.

5

Grid

Gridsatır ve sütunlardan oluşan esnek bir alan sağlar. Kılavuzda, alt öğeler tablo biçiminde düzenlenebilir. Öğeler, kullanılarak herhangi bir belirli satır ve sütuna eklenebilirGrid.Row ve Grid.Column özellikleri.

6

SplitView

SplitViewiki görünüme sahip bir kabı temsil eder; ana içerik için bir görünüm ve genellikle gezinme komutları için kullanılan başka bir görünüm.

7

RelativePanel

RelativePanel alt nesneleri birbirlerine veya üst panele göre konumlandırabileceğiniz ve hizalayabileceğiniz bir alanı tanımlar.

8

ViewBox

ViewBox Mevcut alanı doldurmak için tek bir çocuğu genişletebilen ve ölçekleyebilen bir içerik dekoratörü tanımlar.

9

FlipView

FlipView her seferinde bir öğeyi görüntüleyen bir öğenin denetimini temsil eder ve öğeler koleksiyonunda gezinmek için "çevirme" davranışını etkinleştirir.

10

GridView

GridView satırlar ve sütunlar halinde bir öğe koleksiyonu sunan ve yatay olarak kaydırılabilen bir kontroldür.

UI Kontrolleri

Burada, son kullanıcılar tarafından görülebilen UI Kontrollerinin bir listesi bulunmaktadır.

S.No. UI Kontrolleri ve Tanımı
1

Button

Kullanıcı girdisine yanıt veren bir denetim

2

Calendar

Bir kullanıcının görsel bir takvim görüntüsü kullanarak bir tarih seçmesine olanak tanıyan bir denetimi temsil eder.

3

CheckBox

Bir kullanıcının seçebileceği veya temizleyebileceği bir denetim.

4

ComboBox

Kullanıcıların seçim yapabileceği bir açılır öğe listesi.

5

ContextMenu

Bu öğe içinden kullanıcı arabirimi (UI) aracılığıyla bağlam menüsü istendiğinde görünmesi gereken bağlam menüsü öğesini alır veya ayarlar.

6

DataGrid

Özelleştirilebilir bir kılavuzda verileri görüntüleyen bir denetimi temsil eder.

7

DatePicker

Kullanıcının bir tarih seçmesine izin veren bir denetim.

8

Dialogs

Bir uygulama, kullanıcının önemli bilgileri toplamasını veya görüntülemesini sağlayacak ek pencereler de görüntüleyebilir.

9

Flyout

Bilgi olan veya kullanıcı etkileşimi gerektiren hafif kullanıcı arabirimini görüntüleyen bir denetimi temsil eder. Bir iletişim kutusundan farklı olarak, bir Açılır Pencere, tıklanarak veya dışarıya dokunarak, cihazın geri düğmesine veya 'Esc' tuşuna basılarak hafif kapatılabilir.

10

Image

Bir görüntü sunan bir kontrol.

11

ListBox

Kullanıcının seçim yapabileceği bir satır içi öğe listesi sunan bir denetim.

12

Menus

Komutlar ve olay işleyicileriyle ilişkili öğeleri hiyerarşik olarak düzenlemenizi sağlayan bir Windows menü denetimini temsil eder.

13

MenuFlyout

Bir komut menüsü görüntüleyen bir açılır pencereyi temsil eder.

14

PasswordBox

Parolaları girmek için bir kontrol.

15

Popup

İçeriği, uygulama penceresinin sınırları içinde mevcut içeriğin üstünde görüntüler.

16

ProgressBar

Bir çubuk görüntüleyerek ilerlemeyi gösteren bir denetim.

17

ProgressRing

Bir zil sesi görüntüleyerek belirsiz ilerlemeyi gösteren bir denetim.

18

RadioButton

Bir kullanıcının bir grup seçenekten tek bir seçeneği seçmesine izin veren bir denetim.

19

RichEditBox

Bir kullanıcının biçimlendirilmiş metin, köprüler ve görüntüler gibi içeriğe sahip zengin metin belgelerini düzenlemesine olanak tanıyan bir denetim.

20

ScrollViewer

Kullanıcının içeriğini kaydırmasına ve yakınlaştırmasına olanak tanıyan bir kapsayıcı denetimi.

21

SearchBox

Bir kullanıcının arama sorguları girmesine izin veren bir denetim.

22

Slider

Kullanıcının bir parça boyunca Başparmak kontrolünü hareket ettirerek bir dizi değer arasından seçim yapmasını sağlayan bir kontrol.

23

TextBlock

Metni görüntüleyen bir kontrol.

24

TimePicker

Bir kullanıcının bir zaman değeri ayarlamasına izin veren bir denetim.

25

ToggleButton

2 durum arasında geçiş yapılabilen bir düğme.

26

ToolTip

Bir öğeye ilişkin bilgileri görüntüleyen bir açılır pencere.

27

Window

Simge durumuna küçültme / büyütme seçeneği, Başlık çubuğu, kenarlık ve kapat düğmesi sağlayan kök pencere.

Aşağıda verilen, farklı türde kontrolleri içeren bir örnektir. SplitView. XAML dosyasında, bazı özellikler ve olaylarla farklı denetimler oluşturulur.

<Page 
   x:Class = "UWPControlsDemo.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:local = "using:UWPControlsDemo" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d">
   
   <Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
      <StackPanel Margin = "20"> 
		
         <StackPanel Orientation = "Horizontal"> 
			
            <ToggleButton x:Name = "HamburgerButton" FontFamily = "Segoe MDL2 Assets"
               Content = "" Checked = "HandleCheck" Unchecked = "HandleUnchecked" 
               HorizontalAlignment = "Center"/> 
					
            <AppBarButton Icon = "Like" />
            <AppBarButton Icon = "Dislike" /> 
            <AppBarSeparator/> 
            <AppBarButton Icon = "Accept" /> 
            <AppBarButton Icon = "Add" /> 
				
         </StackPanel> 
			
         <SplitView x:Name = "splitView" DisplayMode = "Inline" 
            OpenPaneLength = "296"> 
				
            <SplitView.Pane> 
               <StackPanel> 
                  <TextBlock Text = "SplitView Pane" FontSize = "36" 
                     VerticalAlignment = "Center" HorizontalAlignment = "Center" 
                     Margin = "10"/> 
							
                  <Button Content = "Options" Margin = "10"> 
						
                     <Button.Flyout> 
                        <MenuFlyout> 
                           <MenuFlyoutItem Text = "Reset"/> 
                           <MenuFlyoutSeparator/> 
                           <MenuFlyoutItem Text = "Repeat"/> 
                           <MenuFlyoutItem Text = "Shuffle"/> 
                        </MenuFlyout> 
                     </Button.Flyout> 
							
                  </Button> 
						
               </StackPanel> 
            </SplitView.Pane> 
					
            <StackPanel>
				
               <TextBlock Text = "SplitView Content" FontSize = "36" 
                  VerticalAlignment = "Center" HorizontalAlignment = "Center" 
                  Margin = "10"/>
						
               <Border BorderThickness = "3" BorderBrush = "Red" Margin = "5"> 
                  <StackPanel Orientation = "Horizontal"> 
                     <TextBlock Text = "Hyperlink example" Margin = "5"/> 
                     <HyperlinkButton Content = "www.microsoft.com" 
                        NavigateUri = "http://www.microsoft.com"/> 
                  </StackPanel> 
               </Border> 
					
               <RelativePanel BorderBrush = "Red" BorderThickness = "2"  
                  CornerRadius = "10" Padding = "12" Margin = "5"> 
						
                  <TextBlock x:Name = "txt" Text = "Relative Panel example" 
                     RelativePanel.AlignLeftWithPanel = "True" 
                     Margin = "5,0,0,0"/> 
							
                  <TextBox x:Name = "textBox1" RelativePanel.RightOf = "btn" 
                     Margin = "5,0,0,0"/> 
							
                  <Button x:Name = "btn" Content = "Name"  
                     RelativePanel.RightOf = "txt" Margin = "5,0,0,0"/> 
							
               </RelativePanel> 
					
               <FlipView Height = "400" Margin = "10" Width = "400"> 
                  <Image Source = "Images/DSC_0104.JPG"/> 
                  <Image Source = "Images/DSC_0080.JPG"/> 
                  <Image Source = "Images/DSC_0076.JPG"/> 
                  <Image Source = "Images/thGTF7BWGW.jpg"/> 
               </FlipView>
					
            </StackPanel> 
				
         </SplitView> 
			
      </StackPanel> 
		
   </Grid> 
	
</Page>

Aşağıda verilen Events C # 'da uygulama.

using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Media;
  
// The Blank Page item template is documented at
   http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
 
namespace UWPControlsDemo {
 
   /// <summary> 
      /// An empty page that can be used on its own or navigated to within a Frame. 
   /// </summary> 
	
   public sealed partial class MainPage : Page {
    
      public MainPage() {
         this.InitializeComponent(); 
      } 
		
      private void HandleCheck(object sender, RoutedEventArgs e) { 
         splitView.IsPaneOpen = true; 
      }
		
      private void HandleUnchecked(object sender, RoutedEventArgs e) {
         splitView.IsPaneOpen = false; 
      }
		
   }
	
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki pencereyi göreceksiniz -

Sol üst taraftaki hamburger butonuna tıkladığınızda açılıp kapanacaktır. SplitView bölme.

İçinde SplitView Bölme, görebilirsiniz Flyout, MenuFlyout ve FlipView kontroller.

İçinde SplitView İçerik, Köprü, Göreli Panel, ViewBox ve diğer düğmeleri ve metin kutusu kontrollerini görebilirsiniz.