доступ к переменной элемента из динамических данных в списке на SelectionChanged - PullRequest
0 голосов
/ 25 июля 2011

Я заполняю список из веб-клиента, данные привязываются к списку и нигде не сохраняются.

Я хотел бы получить доступ к связанной информации, когда пользователь выбирает из списка, у меня возникли проблемы с доступом к значениютекстового блока из события SelectionChanged ..

            <ListBox x:Name="UsersListBox" ItemsSource="{Binding Items}" Height="471" VerticalAlignment="Top" HorizontalAlignment="Left" Width="457" SelectionChanged="TargetsListBox_SelectionChanged" Grid.ColumnSpan="2">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Margin="0,0,0,17" Width="432" Orientation="Horizontal">
                        <Image x:Name="ImageAddIcon" Source="blkAdd.png" Height="60" Width="71" VerticalAlignment="Stretch" />
                        <Image x:Name="ImagePointer" Source="blkClick.png" Height="60" Width="71" VerticalAlignment="Stretch" />
                        <StackPanel>
                            <TextBlock Name="txtID" Text="{Binding PlayerID}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="#FF8A9A8A" Visibility="Collapsed" />
                            <TextBlock Name="txtNick" Text="{Binding Nickname}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="#FF8A9A8A" />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

Я хотел бы получить доступ к PlayerID из этого динамически заполненного списка (из веб-сервиса) на выбранной основе

private void TargetsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
  string  ID  = UsersListBox.SelectedItem ???PlayerID or txtID???;
}

я просто хочучтобы получить идентификатор игрока, который привязан к списку с измененным выбором события ЛЮБЫЕ ИДЕИ !!!!!!!!!<3 </p>

1 Ответ

2 голосов
/ 25 июля 2011

Предполагая, что "Items" является ObservableCollection:

private void TargetsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var listBox = sender as ListBox;

    var selectedItem = listBox.SelectedItem as Player;
    if (selectedItem != null)
    {
        string id = selectedItem.PlayerID
        string nick = selectedItem.NickName;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...