0

我有以下绑定到命令的 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 页面,该页面将显示特定于我选择的项目的详细信息。例如,如果我选择 Coca Cola 作为组织,那么它应该显示 Detail.xaml,其中将列出 Coca Cola 组织的详细信息(通过组织 ID 获取)。

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

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

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

4

1 回答 1

0

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

<Button Command="{Binding LoadPage}" CommandParameter={Binding ElementName=ParentItem Path=DataContext}">
于 2013-10-15T23:03:37.400 回答