ViewModel'de ListCollectionView
'a bağlı bir ListView Denetimi var.GroupStyles nasıl çalışır?
Bu öğeleri gruplandırmayı denemek istedim, ancak bazı sorunlar yaşadım.
Başlamak için VM'de Özellik gruplamasını ayarlıyorum ve daha sonra bir GroupStyle
ekledim.
C#:
ListCollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Category"));
XAML:
listesi şimdi sadece kategori adları, ürün kendilerini görmek için bir yol yoktur Ancak<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
.
Burada neler olup bittiğini tam olarak anlamıyorum. GroupStyle
için bir şablon oluşturduğumda gerçekten neye bağlanıyorum? Name
dışında başka özellikleri var mı?
GroupStyle
ürününü ekledim, daha önce oluşturduğum bir ListView I'e10 ekledim. GroupStyle
ile uğraşmak bir şey mi?
Listedeki öğeler başka bir sınıfa aitse ve ne tür bir sınıfa ait olduklarını (kimliğine sahip) temel alarak gruplamak istemediysem. Daha sonra bu ana sınıftaki grup adını bir özellik olarak alırdım. Mümkün mü?
KISMİ ÇÖZÜM:
Sorun ListView uygulanan stili ile oldu. Tarzın ne anlama geldiği hakkında hiçbir fikrim yok.
Ben true
için IsItemsHost
seti ile bir Panel kullanmak kalmanın liste ControlTemplate
bir ItemsPresenter
kullanmıyordum
TAM ÇÖZÜM. GroupPyling'in doğru çalışması için ItemsPresenter kullanılmalıdır.
Sanal Makinede bir ListCollectionView sınıfına sarılmış Öğelerim olması dışında, hemen hemen aynı koda sahibim. Sorun şu ki, işe yarayacak, ancak sadece içerdiği öğeler değil, sadece grupları gösteriyor. Varsayılan olarak nasıl görünmelidir? Bir genişletici mi yoksa sadece bir başlık mı olmalı? –
@ IngóVals: Öncelikle, VM'nizde CollectionViewSource'un bulunmasıyla hangi yan etkilerin ortaya çıktığından tam olarak emin değilim; Örnekte olduğu gibi hareket ettirmeyi deneyin ve bunu sanal makinenizdeki bir ObservableCollection ile değiştirin. Yapmanız gereken bir sonraki şey detabinding için hata ayıklama mesajlarını açmaktır: http://i.imgur.com/UAxJO.png Ardından, çıkış penceresini tekrar çalıştırın ve kontrol edin ve hangi hataların olduğunu görün. – Will
@Will: CollectionViewSource ürününün dışarıda bir şey değiştirmemesi, değiştirmeyi denesem bile aynı şeydir. Ayrıca sorun bağlayıcı değildir, bağlayıcı hata veya uyarı yoktur. Her şeyi doğru yapıyor gibi görünüyor. Kategoriler ve hepsinin doğru isimlerini gösteriyor. Bu bir çeşit şablon/görüntüleme problemi, gruplandırmaya sahip bir listenin görüntülendiği varsayılan yöntem nedir? HeaderTemplate verilerle ilgili olarak nerede görünür? –