2015-04-20 1 views
1

Я создаю приложение для фотографий с помощью FlipView. В BottomAppBar я разместил ListView всех изображений, чтобы иметь возможность просматривать изображение в FlipView, когда я нажимаю на него в ListView и получаю изображение, отображаемое в FlipView, выбранном в ListView (например, в виде пагинации).Set SelectedIndex ListView в событии FlipView_SelectionChanged

В мероприятии listView.selectionChanged я сделал код, который показывает изображение в FlipView, когда я выбираю его в ListView. Вот код:

private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
      string CurrentViewState = ApplicationView.GetForCurrentView().Orientation.ToString(); 
      int IndicatorIndex = listView.SelectedIndex; 

      GoToPage(CurrentViewState, IndicatorIndex); 
     } 

    private void GoToPage(string CurrentViewState, int IndicatorIndex) 
     { 
      if (CurrentViewState == "Portrait") 
      { 
       flipView1.SelectedIndex = IndicatorIndex; 
      } 
      else if (CurrentViewState == "Landscape") 
      { 
       if (IndicatorIndex % 2 == 0) 
        flipView1.SelectedIndex = IndicatorIndex/2; 
       else 
       { 
        if (IndicatorIndex == 1) 
         flipView1.SelectedIndex = 1; 
        else 
         flipView1.SelectedIndex = (IndicatorIndex + 1)/2; 
       } 
      } 
     } 

Теперь, когда мне нужно изменить listView.SelectedIndex согласно flipView.SelectedIndex

listView.SelectedIndex = flipView.SelectedIndex 

Я, имеющий исключение:

An exception of type 'System.ArgumentException' occurred in eBookApp.exe but was not handled in user code. Additional information: Value does not fall within the expected range. 

Мне нужно, чтобы иметь возможность получить то же изображение, выбранное в выбранном FlipView, и прокрутить его в ListView ...

+0

Пожалуйста, будьте более конкретными, чем «исключение». _Что исключение вы получаете? Каково точное сообщение об ошибке из исключения? Какова трассировка стека исключений? Пожалуйста, предоставьте [хороший, _minimal_, _complete_ пример кода] (http://stackoverflow.com/help/mcve), который надежно воспроизводит проблему, а также четкие конкретные инструкции о том, как использовать этот пример кода для воспроизведения проблемы. –

+0

Я попытался изменить свой вопрос, я добавил сообщение об исключении, которое я получаю, и больше кода, надеюсь, что это полезно! – yalematta

ответ

1

Я закончил тем, что делает его работу, добавив к моему FlipView:

SelectedIndex="{Binding Path=SelectedIndex, ElementName=listView1, Mode=TwoWay}" 

и мой ListView:

SelectedIndex="{Binding Path=SelectedIndex, ElementName=flipView1, Mode=TwoWay}" 

Их обоих SelectedIndex относятся друг к другу!

0

Вместо выбора Изменить событие, проще использовать привязку данных к SelectedIndex.

<Page 
    x:Class="BlankApp.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:BlankApp" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d"> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
     <StackPanel Margin="100, 100, 0, 0"> 
      <FlipView x:Name="flipView1" Width="500" Height="200" SelectionChanged="flipView1_SelectionChanged"> 
       <Image Source="Assets/Logo.scale-100.png" /> 
       <Image Source="Assets/SmallLogo.scale-100.png" /> 
       <Image Source="Assets/SplashScreen.scale-100.png" /> 
      </FlipView> 
      <ListView Name="listview1" SelectedIndex="{Binding Path=SelectedIndex, ElementName=flipView1, Mode=TwoWay}"></ListView> 
      <TextBlock Text="{Binding Path=SelectedIndex, ElementName=flipView1}" /> 
     </StackPanel> 
    </Grid> 
</Page> 
+0

Я попытался добавить 'SelectedIndex =" {Binding Path = SelectedIndex, ElementName = flipView1, Mode = TwoWay} "в мой ListView в Xaml, но это ** не сработало! ** – yalematta

+0

Вы изменили ElementName на свое имя FlipView ? в моем случае это flipView1. –

+0

Да, и я удалил событие ListView OnSelectionChanged, и все еще, когда я меняю выбор FlipView, в моем ListView не выбрано никаких элементов – yalematta

 Смежные вопросы

  • Нет связанных вопросов^_^