Combobox Control WPF предоставляет гибкие параметры привязки данных, включая возможность отображения и выбора значений из пользовательского списка объектов. В этом руководстве исследует, как связать ComboBox с пользовательским списком в WPF и решает общие проблемы.
], чтобы связать ComboBox с пользовательским списком, вам нужен класс, который представляет структуру данных списка. Например, если у вас есть список записей по телефону, вы можете определить класс по телефону, который содержит такие свойства, как имя и номер.
]Далее, создайте ConnectionViewModel, которая разоблачает коллекцию объектов PhoneBookEntry. Эта модель представления будет действовать как источник данных для ComboBox.
]в вашем XAML, свяжите свойство ItemsSource ComboBox с свойством PhoneBookEntries модели View. Кроме того, установите свойство DisplaymemberPath, чтобы указать, какое свойство следует отображать в раскрывающемся списке, и свойство SelectedValuePath, чтобы указать, какое свойство следует использовать при выборе элемента для установки свойства SelectedValue.
]привязка является двунаправленной по умолчанию, позволяя изменения в модели пользовательского интерфейса или представления распространяться на обе стороны. Однако в некоторых случаях вы можете указать одностороннее привязку, например, когда вы просто хотите обновить модель представления, когда изменения происходят в пользовательском интерфейсе.
]DataContext's DataContext ComboBox должен быть экземпляром ConnectionViewModel, который предоставляет пользовательский список. Если DataContext не установлен явно, WPF попытается сделать вывод на основе окружающих элементов и иерархии привязки.
]При добавлении элементов в ComboBox через элементы Concontrol или ItemsPanel они наследуют дата -контекст родительского элемента по умолчанию. Это означает, что обратный данных каждого элемента в ComboBox в ItemsControl такой же, как и DataContext самого ItemsControl.
]Если свойство PhoneBookEntries в ConnectionViewModel является коллекцией, вы можете столкнуться с двусторонними проблемами привязки. Чтобы разрешить это, рассмотрите возможность изменения типа свойства на ReadonlyCollection или реализацию пользовательского урока IcollectionView.
]В некоторых случаях вы можете предпочесть использовать метод ToString () пользовательского класса вместо DisplayMemberPath. Это позволяет обеспечить больший контроль над текстом, отображаемым в раскрывающемся списке, в то же время используя свойство SelectedValue для хранения выбранного значения.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3