У меня есть ListBox на странице WPF, каждый элемент которого состоит из двух меток.Я назначил им имена FirstName, LastName:
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Name="FirstName" Text="{Binding FirstName}" Margin="0,0,10,0"/>
<TextBlock Grid.Column="1" Name="LastName" Text="{Binding LastName}" HorizontalAlignment="Left"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
Когда пользователь выбирает элемент списка, я хочу сохранить их значения отдельно, чтобы передать их на другую страницу.Я пытаюсь с этой целью в коде за кодом:
ListItemCollection lbi = List1.SelectedItem as ListItemCollection;
string first = lbi.FirstListItem.DataContext.ToString();
string last = lbi.LastListItem.DataContext.ToString();
Однако я получаю исключение nullReferenceException при определении строк?Что не так на этом пути?Как я могу получить значения SelectedItem?
Обновление: Значения привязки являются производными от SQLAdapter с запросом SQL.Смотрите код позади:
SqlDataAdapter dAdapt1 = new SqlDataAdapter(sqlStr1, cnStr);
DataSet dataSet1 = new DataSet();
dAdapt1.Fill(dataSet1);
List1.DataContext = dataSet1.Tables[0];