绑定XAML中的全景项

时间:2013-01-15 05:24:48

标签: xaml windows-phone

我有两个全景页面。第一个包含字母,第二个包含以该字母开头的动词。当用户点击一个字母时,应用程序应该使用动词将它们重定向到第二页。我得到了Panorama的HeaderItem,但没有动词列表。它只是空着。

以下是第一页上的事件:

// Navigate to the second page:
        NavigationService.Navigate(new Uri("/Verbs.xaml?selectedItem=" + (alphabet.SelectedItem as ItemViewModel).ID, UriKind.Relative));

在第二页:

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        if (DataContext == null)
        {
            string selectedIndex = "";
            if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
            {
                int index = int.Parse(selectedIndex);
                DataContext = App.ViewModel.Items[index];            
            }
        }
    }

第二页的XAML文件:

<Grid x:Name="LayoutRoot">
    <controls:Panorama Title="Verb">

        <!--Panorama item one-->
        <!--Binding LineOne works!-->
        <controls:PanoramaItem Header="{Binding LineOne}">                
            <ListBox x:Name="verblist" Margin="0,0,-12,0">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <!--But this one does not work-->
                        <TextBlock Text="{Binding Verb1}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="Search">
            <Grid/>
        </controls:PanoramaItem>
    </controls:Panorama>
</Grid>

你能告诉我这些问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您忘了将项目添加到列表框中,

 <ListBox x:Name="verblist" Margin="0,0,-12,0" Items={Binding YOUR_ITEMS_LOCATION_HERE}>

或代码:

verblist.Items = xxxx;