0

我有一个小而简单的问题。我认为。

我必须 Listpickers ,其中第二个取决于第一个的选择。我认为我可以通过在第一个 Listpicker 上使用 selectionchanged 轻松完成,然后获取选定的索引。

<toolkit:ListPicker ExpansionMode="FullScreenOnly" Grid.Row="0" Name="customers" FullModeHeader="Kunder" Margin="10,50,10,10" Width="350" HorizontalAlignment="Left" SelectionChanged="customers_SelectionChanged">
      <toolkit:ListPicker.ItemTemplate>
              <DataTemplate>
                     <StackPanel Orientation="Horizontal">
                          <TextBlock Text="{Binding Title}" Margin="12,0,0,0"></TextBlock>
                     </StackPanel>
              </DataTemplate>
      </toolkit:ListPicker.ItemTemplate>
      <toolkit:ListPicker.FullModeItemTemplate>
             <DataTemplate>
                    <StackPanel Orientation="Horizontal" Margin="16,20,0,20">
                         <TextBlock Text="{Binding Title}" Margin="16,0,0,0" FontSize="30" FontFamily="{StaticResource PhoneFontFamilyLight}"></TextBlock>
                    </StackPanel>
             </DataTemplate>
      </toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>

并且选择的代码已更改:

private void customers_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

        int selindex = customers.SelectedIndex;

        MessageBox.Show("index : " + selindex);
        Guid costumerid = customers[selindex].id;
        Loadprojects();
    }

我的问题是 selindex 总是等于-1,然后我得到一个超出范围的异常。解决这个问题的最佳方法是什么?

4

1 回答 1

1
private void customers_SelectionChanged(object sender, SelectionChangedEventArgs e)
{

    int selindex = customers.SelectedIndex;
    if (selindex==-1) return;
    MessageBox.Show("index : " + selindex);
    Guid costumerid = customers[selindex].id;
    Loadprojects();
}
于 2012-09-13T13:31:30.697 回答