Bu yazımızda WPF’ te Menü kullanımının nasıl yapılacağını, ve formumuza eklediğimiz Menü öğesinin hangi özelliklerini kullanabileceğimizi göreceğiz. XAML de Menu oluşturma
ve öğeleri kullanılarak yapılır.
XAML sayfasında menü oluşturmak için;
1 2 3 | <Menu Name="menu1" Height="22" Width="200" /> |
etiketleri kullanılır. Yukarıda eklemiş olduğumuz menüye ait genişli ve yükseklik ayarını yapabileceğimiz Width ve Height özelliklerinin kullanımını görüyoruz. Menümüze ait yatay ve dikey hizalama işlemlerini ve renk verme işlemlerini aşağıdaki gibi yapabiliriz. Ayrıca düzgün bir menü yerleşimi için Grid Layout’ unu da kullanabilirsiniz. Grid kullanımıyla ilgili bilgiye daha önceki yazılarımıza göz atarak ulaşabilirsiniz.
1 2 3 4 5 6 | <Menu Name="menu1" Height="22" Width="200" Margin="5, 5, 5, 5" HorizontalAlignment="Left" VerticalAlignment="Top" Background="Gray"> </Menu> |
Menü içerisine öğe eklemek için;
1 2 3 4 5 6 7 8 9 10 | <Menu Name="menu1" Height="22" Width="200" Margin="5, 5, 5, 5" HorizontalAlignment="Left" VerticalAlignment="Top"> <MenuItem Header="Dosya"> <MenuItem Header="Yeni" IsCheckable="true"/> <MenuItem Header="Aç" IsCheckable="true"/> <MenuItem Header="Kaydet" IsCheckable="true"/> </MenuItem> </Menu> |
Menü öğelerini guruplamak için
1 2 3 | <Separator /> |
etiketi kullanılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <Menu Name="menu1" Height="22" Width="200" Margin="5, 5, 5, 5" HorizontalAlignment="Left" VerticalAlignment="Top"> <MenuItem Header="Dosya"> <MenuItem Header="Yeni" /> <MenuItem Header="Aç" /> <Separator /> <MenuItem Header="Kaydet"/> <MenuItem Header="Farklı Kaydet"/> <Separator /> <MenuItem Header="Kapat" /> </MenuItem> </Menu> |
Alt menü oluşturmak için;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <Menu Name="menu1" Height="22" Width="200" Margin="5, 5, 5, 5" HorizontalAlignment="Left" VerticalAlignment="Top"> <MenuItem Header="Dosya"> <MenuItem Header="Yeni" /> <MenuItem Header="Aç"> <MenuItem Header="Resim" /> <MenuItem Header="Müzik" /> <MenuItem Header="Video" /> </MenuItem> <Separator /> <MenuItem Header="Kaydet"/> <MenuItem Header="Farklı Kaydet"/> <Separator /> <MenuItem Header="Kapat" /> </MenuItem> </Menu> |
Şimdi de menümüze resim ekleme işleminin nasıl yapılabileceğine bakalım.
Bunun için öncelikle resimlerimiz ayarlamamız gerekiyor. örneğimizde Projemize Solution Explorer Penceresini kullanarak Images isimli bir klasör oluşturarak içine kullanılacak resimler atıldı.
XAML kodlarını ise şu şekilde ayarlayabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <MenuItem Header="Düzen"> <MenuItem Header="Kes" Command="Cut"> <MenuItem.Icon> <Image Source="Images/Cut.png" /> </MenuItem.Icon> </MenuItem> <MenuItem Header="Kopyala" Command="Copy"> <MenuItem.Icon> <Image Source="Images/Copy.ico" /> </MenuItem.Icon> </MenuItem> <MenuItem Header="Yapıştır" Command="Paste"> <MenuItem.Icon> <Image Source="Images/Paste.png" /> </MenuItem.Icon> </MenuItem> </MenuItem> |
Oluşturduğumuz Menü öğesine komut çalıştırması için işlevsellik katalım. Yani menü öğesine tıklandığında bir iş yapmasını sağlayalım. Bunun için hangi menü öğesi gerekiyorsa XAML kod penceresinde imleci üstüne getirip,
Click olayına çift tıklayarak oluşturalım. karşımıza ilgili menü öğesine ait C# kodlarını yazacağımız Mainvindow.xaml.cs penceresi gelecektir. Bu bölüme gerekli kodlar yazılarak işlemi tamamlamış oluyoruz.