我试图使用Caliburn将ValueTuples的ObservableCollection绑定到WPF中的ComboBox。微框架MVVM。在ViewModel中执行此操作时:
private ObservableCollection<Tuple<string, string>> databasesFromDisk;
public ObservableCollection<Tuple<string, string>> DatabasesFromDisk
{
get => databasesFromDisk;
set
{
databasesFromDisk = value;
NotifyOfPropertyChange(() => DatabasesFromDisk);
}
}
在XAML视图中:
<ComboBox x:Name="DatabasesFromDisk" DisplayMemberPath="Item1"/>
它起作用了,ComboBox用第一个字符串填充。但是当我尝试使用C#7并更改为:
private ObservableCollection<(string name, string path)> databasesFromDisk;
public ObservableCollection<(string name, string path)> DatabasesFromDisk
{
get => databasesFromDisk;
set
{
databasesFromDisk = value;
NotifyOfPropertyChange(() => DatabasesFromDisk);
}
}
DisplayMemberPath="name"
-相同的空列表。当我移除时,它不能正常工作
DisplayMemberPath
-它显示整个列表,但两个字符串串联在一起。
我如何使用ValueTuples?