Элементы UWP ComboBox ItemsSource отображаются правильно, но SelectedItem не выбран в списке. Почему это так?Set SelectedItem для UWP ComboBox
Часть XAML:
<ComboBox Name="FooComboBox"
ItemsSource="{x:Bind ViewModel.Foos}"
SelectedItem="{x:Bind ViewModel.Foo,Mode=TwoWay,Converter={StaticResource ChangeTypeConverter}}"/>
ChangeTypeConverter
происходит от Template10
Foos
и значение свойства Foo
устанавливаются в ViewModel
public class ViewModel : ViewModelBase
{
Foo _Foo = default(Foo);
public Foo Foo { get { return _Foo; } set { Set(ref _Foo, value); } }
public ObservableCollection<Foo> Foos = new ObservableCollection<Foo>(FooService.GetFoos());
public ViewModel()
{
Foo = FooService.GetDefaultFoo();
A Foo выглядит следующим образом
public class Foo
{
public Guid FooId { get; set; } = Guid.NewGuid();
public string FooCode { get; set; }
public override string ToString()
{
return FooCode;
}
}
Тем не менее, хотя FooComboBox
правильно делает список Foos
, то SelectedItem
не устанавливается равным текущему значению свойства Foo
. Почему это так?
ли GetDefaultFoo() возвращает экземпляр который на самом деле в Фоосе? Т.е., убедитесь, что 'Foos.Contains (Foo) == true' –
Спасибо за отзыв @Henk Holterman. Я могу видеть, что 'Foo' находится в' Foo's' ... том же 'FooId' и' FooCode', однако 'Foos.Contains (Foo)' возвращает 'false'. Поцарапать мою голову, интересно, почему это может быть? – Vague
Я полагаю, что GetDefaultFoo() получает значения из одного источника (Db), а затем создает собственный экземпляр. –