Сенсорный вопрос в ListBox - PullRequest
1 голос
/ 01 июня 2011

У меня есть это ListBox в моем xaml.

FIRST.XAML

<ListBox ItemsSource="{Binding Items}" x:Name="newsList" 
   ItemTemplate="{StaticResource NewsListTemplate}"
   Margin="-2,86,2,0" SelectionChanged="openNewsViewer" 
   Height="361" VerticalAlignment="Top" d:LayoutOverrides="GridBox"
/>

Проблема в том, что когда я нажимаю первый раз на элемент списка, все в порядке, он вызывает SECOND.XAML правильно, но когда явернуться к FIRST.XAML из SECOND.XAML, я не могу повторно щелкнуть по тому же ListBox элементу!

Но почему?

Здесь код C #:

private void openNewsViewer(object sender, SelectionChangedEventArgs e)
{
    var listbox = (ListBox)sender;
    var entry = (ItemViewModel)listbox.SelectedItem;

    Navigate(entry.Link, entry.LineOne, true);
}

private void Navigate(string url, string title, bool showAppBar)
{
    var uri = "/NewsViewer.xaml?idx=" + url + "&title=" + title + "&appbar=" + (showAppBar == true ? "true" : "false");
    NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}

Это все!

Любая идея, чтобы решить эту проблему?
Спасибо!

РЕДАКТИРОВАТЬ 1:
Второй щелчок по той же строке НЕ ВЫЗОВ openNewsViewer.Это может быть проблема в файле XAML?

Пожалуйста, помогите мне.
спасибо ^ 2!

1 Ответ

0 голосов
/ 01 июня 2011

Проблема в том, что ваше событие срабатывает при перезагрузке страницы (когда создается ваш список, изменяется selectedItem).

Вы можете использовать событие ManipulationStarted.

...