Как вы получаете SelectedItem из ComboBox, чтобы показывать, даже если его нет в ItemsSource?WPF Combobox SelectedItem не в Itemssource
так же, как простой пример ...
Пусть у меня есть «класс» объект со свойством «Учитель» на нем.
public class Class: INotifyPropertyChanged
{
private Individual _teacher
public Individual Teacher
{
get { return _teacher; }
set
{
teacher = value;
RaisePropertyChanged("Teacher");
}
}
...
}
На GUI «Ведение классов», есть ComboBox, чтобы выбрать Учителя, и я хочу только активных людей, чтобы показать в ComboBox. И я не хочу, чтобы пользователи могли вводить текст свободной формы в ComboBox. Для этого я привязываю ItemsSource к коллекции в моей модели ViewModel, которая включает только активных лиц, а SelectedItem привязан к свойству «Учитель» моего объекта «Class».
public class MaintainClasses_ViewModel:INotifyPropertyChanged
{
private ObservableCollection<Individual> _activeIndividuals
= GetAllActiveIndividuals();
public ObservableCollection<Individual> ActiveIndividuals
{
get { return _activeIndividuals
}
public Class SelectedClass
{
get;
set;
}
}
с XAML для моего ComboBox быть ...
<ComboBox ItemsSource="{Binding ActiveIndividuals}"
SelectedItem="{Binding SelectedClass.Teacher}" />
Теперь предположим, что я открываю «Ведение классов» GUI для класса, где учитель, который уже был сохранен в настоящее время неактивен. Теперь ... Я хочу, чтобы только активные люди отображались в combobox -PLUS, который был выбран ранее (хотя они теперь неактивны и НЕ находятся в ItemsSource).
В настоящее время единственным способом, который я нашел для этого, является добавление Неактивного человека в коллекцию и повышение события PropertyChanged для коллекции. Тем не менее, мне бы очень хотелось архивировать этот результат, не добавляя вещи в коллекцию. Предпочтительно, какой-либо метод, который использует xaml, селекторы и/или преобразователи.
Не могу понять вас вопрос :( – WPFUser
У меня была аналогичная проблема некоторое время назад, одним из предложений, с которым я столкнулся, было сделать редактирование combobox, потому что это единственный раз, когда ComboBox допускает значения вне привязки коллекции. Я лично не пошел с таким подходом из-за требований моего приложения. Мой подход включал 'MenuItem' вместо' ComboBox'. HTH – XAMlMAX
nice name Theodosius –