从SelectionChangedEventArgs e中获取对象 Windows Phone 8

6
我正在使用Telerik Slide View控件,它支持一个SelectionChanged事件。
private void radSlideView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{        
    var addedItems = e.AddedItems;
}

e 包含了 MainViewModel 对象,该对象包含了 FileName 属性。我怎样才能从 e 中“提取”出 FileName 属性呢?addedItems 是一个 System.Collection.IList 类型。

enter image description here

1个回答

11

你需要投掷:

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
   }
}

这是解决它的最合适方式吗?我期望有一些方法可以进入列表而不需要使用'as'、转换或引用零号元素。这似乎很不安全(尽管我看到了保护程序针对空集合),并且只有在我们知道要转换的类型(并且它不能更改,否则我们就会失败)时才能工作... - Konrad Viltersten
2
@Konrad,不幸的是,WPF充满了这样的权衡。这是灵活性和安全性之间的折衷。 - Mike Dinescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接