我无法找出为什么组合框绑定不起作用?
我有一个看起来像(2 个属性)的视图模型
public ProcessMaintenanceDataObject CurrentProcess
{
get
{
return _CurrentProcess;
}
set
{
_CurrentProcess = value;
OnPropertyChanged("CurrentProcess");
}
}
public ObservableCollection<ProcessMaintenanceDataObject > Processes
{
get
{
return _Processes;
}
set
{
_Processes = value;
OnPropertyChanged("Processes");
}
}
public ObservableCollection<FolderInfo> Folders
{
get
{
return _folders;
}
set
{
_folders = value;
OnPropertyChanged("Folders");
}
}
以下是 ProcessMaintenanceDataObject 定义
[DataMember]
public string ProcessName
{
get
{
return _ProcessName;
}
set
{
_ProcessName = value;
OnPropertyChanged("ProcessName");
}
}
[DataMember]
public string Id
{
get
{
return _Id;
}
set
{
_Id = value;
OnPropertyChanged("Id");
}
}
[DataMember]
public string FolderId
{
get
{
return _FolderId;
}
set
{
_FolderId = value;
OnPropertyChanged("FolderId");
}
}
[DataMember]
public FolderInfo Folder
{
get
{
return _Folder;
}
set
{
_Folder = value;
if (_Folder != null)
FolderId = _Folder.FolderId;
OnPropertyChanged("Folder");
}
}
FolderInfo 类具有 FolderName 和 FolderId 属性。
我在视图模型中有一个填充进程的方法。在我看来,我的结构类似于,我有一个将绑定到进程的树视图,并且在从树视图中选择任何项目时,我需要允许用户编辑该实体。
在视图中,组合框绑定如下:
<ComboBox ItemsSource="{Binding Path=Folders, Mode=OneWay}"
DisplayMemberPath="FolderName"
SelectedItem="{Binding Source={StaticResource viewModel}, Path=CurrentProcess.Folder, Mode=TwoWay}">
...
此绑定不起作用我的意思是,当我从树中选择任何对象时,它会填充文本框中的 ProcesName 等其他信息,但它不会将 Folder 对象作为组合框中的选定项目,但是组合框将被填充。
任何建议。
请参考: