【问题标题】:Windows Phone 8.1 listview click to change pageWindows Phone 8.1 listview 点击更改页面
【发布时间】:2015-04-26 08:27:50
【问题描述】:

为了学校,我必须制作一个 Windows Phone 8.1 程序(MVVM 风格),但我被困住了。

我有一个鸡尾酒列表,我在列表视图中使用绑定动态获取它们:

<ListView ItemsSource="{Binding Cocktails}" ItemTemplate="{StaticResource AllCocktailsTemplate}" > </ListView>

看起来像这样: http://hpics.li/08e9e96

它运行良好,但我想要的是当我点击鸡尾酒时,我将页面更改为转到此鸡尾酒的页面。

导航有效,但我不知道如何在列表视图中为每种鸡尾酒(从数据库中获取)进行导航

我从昨天早上开始,我在网上没有发现对我有用的东西,所以我希望你能帮助我:p

如果你需要更多信息,尽管问我

强尼

【问题讨论】:

  • 有一个 ItemSelectionChanged 事件

标签: c# xaml listview mvvm windows-phone-8.1


【解决方案1】:

ListView/GridView有ItemClick事件,订阅即可

Xaml:

<ListView ItemClick="OnPostItemClick" IsItemClickEnabled="True">

代码:

private void OnPostItemClick(object sender, ItemClickEventArgs e)
{
    // Navigate to cocktail page with item you click/tap on
    Frame.Navigate(typeof(YourPage), e.ClickedItem);
}

如果你想在 ItemClick 事件中使用 Command,你需要添加 Behaviors SDK,然后使用这种方式

<Page ...
    xmlns:i="using:Microsoft.Xaml.Interactivity"
    xmlns:c="using:Microsoft.Xaml.Interactions.Core">

<ListView>
    <i:Interaction.Behaviors>
        <c:EventTriggerBehavior EventName="ItemClick">
            <c:InvokeCommandAction Command="{Binding Path=YourCommand}"/>
        </c:EventTriggerBehavior>
    </i:Interaction.Behaviors>
</ListView>

【讨论】:

    猜你喜欢
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多