我的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!
答案 0 :(得分:0)
问题是重新加载页面时会触发您的事件(创建列表框时,selectedItem会被更改)。
您可以使用ManipulationStarted事件。