Мой друг, ты так далеко от того, как это должно быть сделано. Вы говорите о ComboBox
, но я думаю, что вы должны означать ListView
. Только ComboBox
в вашем коде имеет ComboBoxItem
с жестким кодом внутри, поэтому, я думаю, вы не говорите об этом.
В любом случае, это то, как вы исправить вашу проблему:
Добавьте класс, похожий на это для ваших данных:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string HealthDetails { get; set; }
}
Добавить это свойство зависимостей в код позади:
public static readonly DependencyProperty PeopleProperty = DependencyProperty.Register("People", typeof(ObservableCollection<Person>), typeof(MainWindow), new UIPropertyMetadata(new ObservableCollection<Person>()));
public ObservableCollection<Person> People
{
get { return (ObservableCollection<Person>)GetValue(PeopleProperty); }
set { SetValue(PeopleProperty, value); }
}
Заполните коллекцию People
с вашими данными. Тогда самое главное, привязать к этой коллекции. Раньше вы были обязательными для всего MainWindow.cs
класса ... изменить
<ListView Height="134" HorizontalAlignment="Left" Name="listView1"
ItemsSource="{Binding}" VerticalAlignment="Top" Width="384">
к этому:
<ListView Height="134" HorizontalAlignment="Left" Name="listView1"
ItemsSource="{Binding People}" VerticalAlignment="Top" Width="384">
Это прекрасно работает для меня. Однако ваши навигационные кнопки никогда не будут работать так. Здесь так много ошибок, я просто не успеваю исправить все это для вас. Ниже приводится краткая информация о том, где вы ошибетесь:
- Данные, указанные в
Window
, никогда не должны храниться в коде.
- Данные должны храниться в собственности, которая поддерживает интерфейс
INotifyPropertyChanged
.
- Данные не должны перезагружаться при повторении через коллекцию в пользовательском интерфейсе (если только вы не ожидаете непрерывных обновлений).
- Объекты данных, такие как
DataTable
s, не должны отображаться в пользовательском интерфейсе.
- Вы должны связать свойство элементов управления коллекцией
ItemsSource
с элементами коллекции в вашей модели или коде.
- Вы должны связать свойство элементов управления коллекцией
SelectedItem
с соответствующим типом в вашей модели или коде.
- В обработчиках щелчков кнопки установите этот выбранный элемент в своей модели или коде, а элементы управления пользовательского интерфейса будут автоматически обновляться.
Шеридан - Спасибо за ваше драгоценное время, помогая мне. – bucketblast