如何将命令绑定到MVVM中的跳转列表LongListSelector

时间:2013-10-15 22:45:47

标签: c# mvvm windows-phone-8 command

我有以下xaml绑定到命令...但我不知道如何将信息传递给命令以了解被点击的项目:

<DataTemplate x:Key="OrganisationsItemTemplate">
            <StackPanel VerticalAlignment="Top" Margin="5,0,0,0">
                <Button ... Command = "{Binding LoadPage}">
                    <Grid Margin="0,0,5,0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="67"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <StackPanel Grid.Column="0" Background="Transparent">
                            <Border Background="White" BorderThickness="0" Width="62" Height="62" HorizontalAlignment="Left" Margin="0,0,0,5">
                                <Image Source="{Binding image.thumbnail_link}" Width="62" Height="62"></Image>
                            </Border>
                        </StackPanel>
                        <StackPanel Grid.Column="1" VerticalAlignment="Center" Background="Transparent">
                            <TextBlock Text="{Binding name}" HorizontalAlignment="Left" FontSize="30" VerticalAlignment="Center" Margin="0,0,0,5" />
                        </StackPanel>
                    </Grid>
                </Button>
            </StackPanel>
        </DataTemplate>

跳转列表中的这些项目有望打开一个新的xaml页面,其中将显示特定于我选择的项目的详细信息。例如,如果我选择可口可乐作为组织,它应该显示Detail.xaml,它将列出可口可乐组织的详细信息(由组织ID提取)。

如果你推荐我使用超链接按钮,你有一个例子,如果我把它放进去,我会收到以下错误:

+       ExceptionObject {System.ArgumentException: Value does not fall within the expected range.}  System.Exception {System.ArgumentException}

我认为这是因为我在其中嵌入了其他元素......这有点......我需要做什么?

1 个答案:

答案 0 :(得分:0)

您应该将CommandParameter传递给Command并为其提供相关对象。

<Button Command="{Binding LoadPage}" CommandParameter={Binding ElementName=ParentItem Path=DataContext}">