点击列表框项目导航到页面

时间:2014-07-28 09:58:47

标签: c# json xaml windows-phone-8

我有一个带数据绑定的列表框。

<ListBox x:Name="EventsListBox" Margin="0,85,0,0" VerticalAlignment="Top" Height="682" Width="480" HorizontalAlignment="Center" BorderThickness="0" Background="#FFE8E8E8" BorderBrush="#FF535353" SelectionChanged="EventsListBox_SelectionChanged">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Margin="5,5,5,0" Height="200" Width="470" VerticalAlignment="Center">
                <Image Source="{Binding Default_Image, Converter={StaticResource ImageConverter}}" Margin="0" Stretch="Fill"  Width="480"/>
                <Image Source="gradient.png" Margin="0" Width="480"/>
                <TextBlock x:Name="NameCont" Text="{Binding Title}" TextWrapping="Wrap" Margin="10,0,0,10" FontSize="25" Foreground="White" VerticalAlignment="Bottom"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我创建了像PageTemplate这样的新页面,我想根据用户选择的项目将数据加载到该页面。我该怎么做导航?我正在使用JSON.NET将数据加载到MainPage并生成ListBox项。

我想说:当用户点击项目导航到PageTemplate并将数据加载到该页面但是如何使用listbox进行创建时?

1 个答案:

答案 0 :(得分:0)

刚才我遇到了这个解决方案而且非常简单。在Listbox点击事件中它会非常简单。所以在ListBox中的xaml中添加这一行。

Tap="EventsListBox_Tap"

在listBox点击功能中,获取列表框的selectedIndex并在列表框中使用该索引来获取点击的列表。如下面的代码。

private void EventsListBox_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        YourClass Values = new YourClass();
        Values = yourList[EventsListBox.SelectedIndex];
    }

现在,您可以访问中的所有属性,但这些属性应位于您的类( YourClass )中。使用值,其中包含您点按的值并在任意位置使用它。像这样,

    Values.Default_Image = Values.Default_Image;
    Values.Title = Values.Title;

Default_Image和Title属性应该在 YourClass 中。那就是它。