UWP組合框ItemsSource正確顯示,但未在列表中選擇SelectedItem。爲什麼?爲UWP組合框設置SelectedItem
的XAML:
<ComboBox Name="FooComboBox"
ItemsSource="{x:Bind ViewModel.Foos}"
SelectedItem="{x:Bind ViewModel.Foo,Mode=TwoWay,Converter={StaticResource ChangeTypeConverter}}"/>
ChangeTypeConverter
來自Template10
Foos
和財產Foo
的值在視圖模型
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();
一個富設置看起來像這樣
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?也就是說,驗證'Foos.Contains(Foo)== true' –
感謝提示@Henk Holterman。我可以看到'Foo'在'Foo's'中......同樣的'FooId'和'FooCode',但是'Foos.Contains(Foo)'返回'false'。抓住我的腦袋想知道爲什麼這可能是? – Vague
我想GetDefaultFoo()從相同的源(Db)獲取值,然後創建它自己的實例。 –