2013-03-27 29 views
5

Tôi đang sử dụng Telerik Slide Xem kiểm soát và nó hỗ trợ một sự kiện SelectionChangedBắt đối tượng từ SelectionChangedEventArgs e Windows Phone 8

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

e chứa các đối tượng MainViewModel chứa FileName tài sản. Làm cách nào để "trích xuất" thuộc tính FileName từ e? addedItems là một loại System.Collection.IList

enter image description here

Trả lời

10

Bạn cần phải cast:

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

Đây có phải là cách thích hợp nhất để giải quyết nó? Tôi mong đợi một số phương pháp để nhận được vào một danh sách mà không as'ing, đúc hoặc tham khảo các yếu tố zero'th. Nó có vẻ không an toàn (mặc dù tôi thấy bảo vệ một lần nữa trống rỗng bộ sưu tập) và chỉ hoạt động nếu chúng ta biết loại để đúc (và nó không thể thay đổi hoặc chúng tôi sẽ có một poof) ... –

+2

@ Konrad, tiếc là WPF là đầy những sự đánh đổi như thế. Đó là một sự cân bằng giữa sự linh hoạt và an toàn. –

Các vấn đề liên quan