Daha fazla
- Cinsiyet
- Erkek
- Meslek
- König
Merhaba. WPF öğreniyorum ama XAML gayet kolay gözükse de biraz kafamı karıştırdı. Bir C# sınıfı nasıl XAML koduna dönüştürülüyor? Neden bazı şeyleri Attribute olarak, bazı şeyleri ise içine yazıyoruz? Veya sınıfın kendisinde olmayan property, field lar neden XAML da varmış gibi gözüküyor? Mesela UI nesnelerinin hiçbirinde Grid.Row ve Grid.Column propertysi yok. Ama bu XAML da varmış gibi gözüküyor. Veya Listbox da ItemTemplate ayarlarken şöyle bir şey yapıyoruz:
Burada Listbox ın içerisinde Listbox.ItemTemplate propertysini yazıyoruz ve bunun içerisine DataTemplate yazıyoruz. Anladığım kadarıyla Listbox.ItemTemplate property si DataTemplate e atanıyor. Peki DataTemplate içerisine StackPanel yazınca ne oluyor? Bir kök içerisine başka bir kök açmak değer atama anlamına mı geliyor? Ama Grid in içine birşey yazınca bunlar Grid in Childiren kısmına ekleniyor. Kısaca özetlemem gerekirse bir kökün içerisine başka bir kök açmak ne anlama geliyor?
XML:
<ListBox x:Name="lbox_people" Grid.Row="1" Grid.Column="1" SelectionMode="Multiple">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label Content="{Binding Path=Name,Mode=OneWay}" ContentStringFormat="Name: {0}"/>
<Label Content="{Binding Path=Age,Mode=OneWay}" ContentStringFormat="Age: {0}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Burada Listbox ın içerisinde Listbox.ItemTemplate propertysini yazıyoruz ve bunun içerisine DataTemplate yazıyoruz. Anladığım kadarıyla Listbox.ItemTemplate property si DataTemplate e atanıyor. Peki DataTemplate içerisine StackPanel yazınca ne oluyor? Bir kök içerisine başka bir kök açmak değer atama anlamına mı geliyor? Ama Grid in içine birşey yazınca bunlar Grid in Childiren kısmına ekleniyor. Kısaca özetlemem gerekirse bir kökün içerisine başka bir kök açmak ne anlama geliyor?