Öğeleri belirli bir biçimde oluşturmak için bir ItemsControl içinde bir ItemTemplate'i kullanabiliyorum. Ancak, ItemsControl içindeki öğelerden biri, TextBox, ItemsTemplate'ın bir örneğinden ziyade işlenen bir TextBox olur. Anlatabildiğim kadarıyla, bu herhangi bir FrameworkElement için geçerlidir. Bir ItemsControl için amaçlanan bu davranış mı yoksa yanlış bir şey mi yapıyorum?Neden ItemsControl My ItemTemplate Kullanmıyor mu?
Bir örnek:
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="5">
<Rectangle Fill="Blue" Height="20" Width="20" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.Items>
<sys:Object />
<TextBox />
<sys:Object />
<Rectangle Fill="Red" Height="20" Width="20" />
</ItemsControl.Items>
</ItemsControl>
Bu dört mavi dikdörtgenler görüntülemek için bekliyordu. Koleksiyondaki her öğenin bir ItemTemplate öğesi tanımlandığı zaman, şablonun bir örneği olarak işlendiğini düşündüm. Ancak, bu durumda, aşağıdakiler oluşturulur: mavi bir dikdörtgen ve ardından bir TextBox ve ardından mavi bir dikdörtgen ve ardından kırmızı bir dikdörtgen gelir.
Ben bu davranışı yönelik olduğunu tahmin ediyorum ve bir Geliştiricilere özel bir kerelik kullanım kontrolleri ekleme olanağı sağlaması amaçlanmıştır. Örneğin, bu seçimi temizlemek için bir ComboBox bir Düğme eklemek için kullanabilir veya ItemsSource tarafından belirtilen koleksiyonu filtreleyen bir ListBox bir TextBox koyabilirsiniz. Birinin bu davranış için resmî bir cevabı olduğunu duymak isterim çünkü bir ItemTemplate kullanımı için karşı sezgisel olarak buldum. – Drew
Anthony tarafından büyük bir soru ve harika cevap, teşekkürler çocuklar. – Golvellius