在ListBox上触摸问题

时间:2011-05-31 23:15:50

标签: c# xaml windows-phone-7 listbox selectionchanged

我的xaml中有ListBox

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:
再次点击同一行 NOT CALL openNewsViewer。这可能是XAML文件中的一个问题吗?

请帮帮我 感谢^ 2!

1 个答案:

答案 0 :(得分:0)

问题是重新加载页面时会触发您的事件(创建列表框时,selectedItem会被更改)。

您可以使用ManipulationStarted事件。