Geliştirdiğiniz uygulamada sınırlı bir alanda çok seçenekten bir tanesini seçtirmek istiyorsanız Combobox ekran nesnelerini kullanmalısınız.
Universal App projenizde combobox kullanmak için istediğiniz xaml dosyasına aşağıdaki kod parçasını eklemeniz yeterlidir;
<ComboBox x:Name=”cmbMenu”> <ComboBoxItem Content=”Birinci Eleman” /> <ComboBoxItem Content=”İkinci Eleman” IsSelected=”True” /> <ComboBoxItem Content=”Üçüncü Eleman” /> <ComboBoxItem Content=”Dördüncü Eleman” /> <ComboBoxItem Content=”Beşinci Eleman” /> <ComboBoxItem Content=”Altıncı Eleman” /> </ComboBox></pre>
Ekranın açılışında varsayılan olarak seçili gelmesini istediğiniz ComboboxItem tipindeki elemanın IsSelected özelliğini true yapmalısınız.
Eğer açılır kutunun bir başlığı olması gerekiyorsa, Header özelliği ile bir başlık atayabiliriz;
<ComboBox x:Name="cmbMenu" Header="Menü"> <ComboBoxItem Content="Birinci Eleman" /> <ComboBoxItem Content="İkinci Eleman" IsSelected="True" /> <ComboBoxItem Content="Üçüncü Eleman" /> <ComboBoxItem Content="Dördüncü Eleman" /> <ComboBoxItem Content="Beşinci Eleman" /> <ComboBoxItem Content="Altıncı Eleman" /> </ComboBox>
Uygulamanın Windows Phone yüklü bir cihazda çalıştırıldığı olduğu durumda eğer Combobox 5 veya daha az eleman içeriyorsa tıklandığında aşağıya bir liste açılır.
Combobox eğer 6 veya daha fazla eleman içeriyorsa ekranın tamamını kaplayan bir liste şeklinde gösterilir.
Seçili olan elemanın sırasını öğrenmek için SelectedIndex özelliğini, seçili elemanın kendisini öğrenmek için SelectedItem özelliğini kullanabiliriz.
Varolan seçim değiştiğinde yapmamız gereken işler varsa SelectionChanged event‘i ile seçimin değiştiğini yakalayabilir ve yapmamız gereken işleri yapabiliriz.
<ComboBox x:Name="cmbMenu" Header="Menü" SelectionChanged="cmbMenu_SelectionChanged">
veya
cmbMenu.SelectionChanged += cmbMenu_SelectionChanged;
satırları ile değişim olduğunda cmbMenu_SelectionChanged method‘unun çağırılmasını sağlarız;
private void cmbMenu_SelectionChanged(object sender, SelectionChangedEventArgs e) { // yapılacak işler }
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484