1

所以我有列表项,当我点击一个项目时,我必须导航到一个新页面(非全景)。就像标准的数据绑定应用程序一样。我已经像数据绑定应用程序一样复制粘贴代码,没有做我想要的。

这是我的全景页面 xaml。

<controls:PanoramaItem x:Name="deeln" Header="Deelnemers" Style="{StaticResource subtitle}">
                <!--Double line list with image placeholder and text wrapping-->
                <ListBox Margin="12,0,-12,0" ItemsSource="{Binding ItemsDeelnemer}" x:Name="lbDeelnemer" SelectionChanged="lbDeelnemer_SelectionChanged">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">

                                <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
                                        <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNr}" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="35" ></TextBlock>
                                    <StackPanel Width="430" Height="100">
                                        <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNaamWielrenner1}" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="35"></TextBlock>
                                        <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNaamWielrenner2}" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="35"></TextBlock>
                                    </StackPanel>
                                </StackPanel>

                            </ScrollViewer>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </controls:PanoramaItem>

这是我的全景页面代码。

private void lbDeelnemer_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            #region go to specific deelnemerinfo screen

           // int indexer = lbDeelnemer.SelectedIndex;

            // If selected index is -1 (no selection) do nothing
            if (lbDeelnemer.SelectedIndex == -1)
                return;
            // Navigate to the new page                    
                NavigationService.Navigate(new Uri("/DeelnemerInfo.xaml", UriKind.Relative));
                //NavigationService.Navigate(new Uri("/DeelnemerInfo.xaml?selectedItem=" + lbDeelnemer.SelectedIndex, UriKind.Relative));
            // Reset selected index to -1 (no selection)
            lbDeelnemer.SelectedIndex = -1;

            #endregion
        }

注意:/DeelnemerInfo.xaml 是新页面(非全景页面)只是一个基本的纵向页面。帮我!

4

1 回答 1

0

从列表中删除 ScrollViewer。

ScrollViewer 捕获点击/点击,并且不让 ListBox 获取它们(因此 ListBox 不获取事件)。

当您在 ListBox 中有一个按钮时,您会看到同样的事情发生 - 点击按钮时选择不会改变。

于 2013-04-10T11:44:57.090 回答