Örnek:WPF ListBox ListCollectionView anonim tip navigasyon problemi sorununun
Çerçevesi: WPF Görsel kontrol: Codeplex
public Window()
{
InitializeComponent();
var listView = new ListCollectionView(
new[]
{
new
{
Bool = false,
Str = "Value1"
},
new
{
Bool = false,
Str = "Value1"
}
}.ToList());
dataGrid.ItemsSource = listView;
listView.MoveCurrentToFirst();
listView.MoveCurrentToNext();
}
DataGrid imleç 1'e konumunu değiştirmez DataGrid, değişim değeri ise anonim türlerinden biri:
var listView = new ListCollectionView(
new[]
{
new
{
Bool = false,
Str = "Value1"
},
new
{
Bool = false,
Str = "Value2"
}
}.ToList());
İmleç doğru çalışır ve Selectedındex = 1.
Anonim nesneyi geçersiz kılmak nedeniyle gerçekleşir düşünüyorum GetHashCode() Anonim nesne GetHashCode için: tüm alanların toplamı. Alanlar, anonim nesnelerin 2 farklı örneği için aynıysa, GetHashCode() her iki örnek için de aynı değeri döndürür.
Belki DataGrid nesneleri GetHashCode kullanarak karşılaştırır ve SelectedPosition değiştirmez.
Bu sorunun nasıl önleneceğini bilen var mı?
public class ViewItemHodler
{
public object ViewItem { get; set; }
}
Teşekkür