我如何使用ListView.Item.CurrentItem

时间:2012-04-03 16:05:23

标签: c# wpf xaml icollectionview

这是我的xaml:

    <ListView Name="myListView" ItemsSource="{Binding ElementName=IndexPage, Path=SeriesCollection}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" IsSynchronizedWithCurrentItem="True" SelectionChanged="handleSelected">
    <ListView.ItemsPanel >
        <ItemsPanelTemplate>
            <WrapPanel>
            </WrapPanel>
        </ItemsPanelTemplate>            
    </ListView.ItemsPanel>
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel >
                <Image Width="214" Height="317" Source="{Binding Image}"/>
                <Label Content="{Binding Name}" />
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

这是我的代码

    public void handleSelected(object sender, RoutedEventArgs args)
    {
        object currentSerie = myListView.Items.CurrentItem;
        Console.WriteLine(currentSerie.GetType());
        Console.WriteLine(currentSerie.ToString());
    }

我如何使用currentSerie?如何访问存储在每个项目中的数据?我无法访问属性,我无法将其转换为其他任何对象。

也很有趣,代码的输出不是“对象”而是“系列”,因此ToString()和GetType()获得正确的类型。

thx任何帮助

3 个答案:

答案 0 :(得分:0)

您正在转换为对象,因此您只能获取对象的属性。 Cast是一个真正的自定义类,你将获得该类的属性。 myClass currentSer =

答案 1 :(得分:0)

只需将currentSerie转换为Type系列。

Series currentSerie = (Series)myListView.Items.CurrentItem;

答案 2 :(得分:0)

casting怎么样?

Series series = (Series)myListView.Items.CurrentItem;