C# 从绑定到ObservableDictionary的组合框上的值中获取所选字段

C# 从绑定到ObservableDictionary的组合框上的值中获取所选字段,c#,wpf,combobox,observablecollection,model-binding,C#,Wpf,Combobox,Observablecollection,Model Binding,这很尴尬 我正在尝试将一个可观察的公告绑定到一个组合框 我已经这样做了,但是我正在将所选值进一步绑定到属性,但是我没有得到字段的正确值 这是我的模型 public class Category { public Int64 CategoryId { get; set; } public string CategoryRef { get; set; } public string Description { get; set; } } 这是我的ViewModel: pub

这很尴尬

我正在尝试将一个可观察的公告绑定到一个组合框

我已经这样做了,但是我正在将所选值进一步绑定到属性,但是我没有得到字段的正确值

这是我的模型

public class Category
{
    public Int64 CategoryId { get; set; }
    public string CategoryRef { get; set; }
    public string Description { get; set; }
}
这是我的ViewModel:

public Dictionary<string, Category> _categoryFields;

public Dictionary<string, Category> CategoryFields
{
    get => _categoryFields;
    set
    {
        _categoryFields = value;
        RaisePropertyChanged("CategoryFields");
    }
}

private string _categorySelected;

public string CategorySelected
{
    get => _categorySelected;
    set
    {
        _categorySelected= value;
        RaisePropertyChanged("CategorySelected");
        EvJobCategoryHasChanged?.Invoke();
    }
}
public Dictionary\u categoryFields;
公共词典类别字段
{
get=>\u类别字段;
设置
{
_类别字段=值;
RaisePropertyChanged(“类别字段”);
}
}
私有字符串_categorySelected;
已选择公共字符串类别
{
get=>\u类别已选定;
设置
{
_类别选择=值;
RaisePropertyChanged(“类别选择”);
EvJobCategoryHasChanged?.Invoke();
}
}
这是我的看法:

<ComboBoxAdv 
    DisplayMemberPath="Value.Description"                                         
    SelectedValue="{Binding CategorySelected,Mode=TwoWay}"                                         
    SelectedValuePath="{Binding Value.Description}"                                        
    ItemsSource="{Binding CategoryFields}" />


我正在尝试获取用户选择的描述。

这可能是您的问题:

SelectedValuePath="{Binding Value.Description}"
该财产不需要约束;它应该是一个属性路径,就像
DisplayMemberPath
一样。将其更改为:

SelectedValuePath="Value.Description"