2

我使用 mvvm 模式创建了一个 longlistselector。

我在不同的标题下创建了许多城市名称。

我想知道当用户选择或点击特定项目时如何导航到特定页面。

4

2 回答 2

2

您可以简单地为tap每个事件ListBoxItem(即包含grid// canvaswhatever)或SelectionChanged列表本身的事件连接一个事件侦听器。

一个例子:

<ListBox:ItemTemplate>
    <DataTemplate>
        <Grid Tap="Tap_Handler">
            // .. your text or whatever goes here
        </Grid>
    </DataTemplate>
</ListBox:ItemTemplate>

和代码隐藏的魔法:

public void Tap_Handler(object sender, GestureEventArgs e)
{
    var item = (sender as Grid).DataContext as City; // Given you have City objects in your list
    NavigationService.Navigate(new Uri("/View/City.xaml?id=" + item.Id, UriKind.Relative);
}

应该是类似的,如果这不能正常工作。

于 2012-07-24T09:54:19.153 回答
1

您可以从 订阅SelectionChanged事件LongListSelector

longListSelector.SelectionChanged += new SelectionChangedEventHandler(longListSelector_SelectionChanged);
于 2012-07-24T10:55:03.813 回答