Det är ju skönt att fler än jag får det felet... Jag har nämligt testat att ominstallera vista maskinen men det hjälpte inte, så nu har jag slängt tillbaka XP så får MS ta och skärpa sig....
Jag fick just ett svar från på MSDN (typiskt har väntat i flera dagar och så precis när man installerat om maskinen så får man ett svar som kanske fungerar).
Personen föreslog att det hade med themat att göra, att Luna på XP och Aero på Vista kanske inte hanterade informationen likadant.
Jon skulle du vilja testa koden igen om du ändrar themat till typ klassisk eller något som inte är så fancy och se om koden fungerar... orkar inte installera om maskinen nu....
fick följande svar på MSDN där de bekräftar att ListViewItem har olika strukturer för XP och för Vista :q
Fick även exempelkod som fungerar i XP som säkert fungerar i vista med
MSDN Forum skrev:
Okay, I can verify that, the control template for ListViewItem under Windows XP and Windows Vista has different structure.
I think you could access the GridViewRowPresenter using the following extension method:
public static T GetVisualChild<T>(this Visual referenceVisual) where T : Visual
{
Visual child = null;
for (Int32 i = 0; i < VisualTreeHelper.GetChildrenCount(referenceVisual); i++)
{
child = VisualTreeHelper.GetChild(referenceVisual, i) as Visual;
if (child != null && (child.GetType() == typeof(T)))
{
break;
}
else if (child != null)
{
child = GetVisualChild<T>(child);
if (child != null && (child.GetType() == typeof(T)))
{
break;
}
}
}
return child as T;
}
Then you could access the GridViewRowPresenter using the following code:
GridViewRowPresenter gridViewRowPresenter = listViewItem.GetVisualChild<GridViewRowPresenter>();
Hope this helps
Nu har jag inte vista kvar längre :( så jag hoppas att det fungerar när jag kommer så långt att applikationen måste fungerar på vista också...