2013-03-27 8 views
5

Używam Telerik slajdu kontrolę i Obsługuje SelectionChanged wydarzeniePierwsze obiekt z SelectionChangedEventArgs e Windows Phone 8

private void radSlideView_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{   
    var addedItems = e.AddedItems; 
} 

e zawiera obiekt MainViewModel który zawiera właściwość FileName. Jak mogę "wyodrębnić" właściwość FileName z e? addedItems jest System.Collection.IList typ

enter image description here

Odpowiedz

10

Trzeba obsada:

if(e.AddedItems.Length > 0)  // make sure there is at least one item.. 
{ 
    MainViewModel firstItem = e.AddedItems[0] as MainViewModel; // cast.. 
    if(firstItem != null)           // if not null.. 
    { 
     string fileName = firstItem.FileName;      // get the file name 
    } 
} 
+0

Jest to najbardziej właściwy sposób go rozwiązać? Spodziewałbym się jakiejś metody, żeby dostać się na listę bez tego, co się nazywa, rzucając lub odwołując się do zerowego elementu. Wydaje się po prostu niebezpieczne (chociaż widzę ponownie pustą kolekcję ochronną) i działa tylko wtedy, gdy znamy typ do rzucenia (i nie może się zmienić lub będziemy mieli pufa) ... –

+2

@Konrad, niestety WPF jest pełne takich kompromisów. To kompromis między elastycznością i bezpieczeństwem. –