这令人尴尬。
我正在尝试将ObservableDictionary绑定到ComboBox。
我已经做好了,但是我进一步将所选值绑定到属性,但是我没有得到该字段的正确值。
这是我的模特
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();
}
}
这是我的观点:
<ComboBoxAdv
DisplayMemberPath="Value.Description"
SelectedValue="{Binding CategorySelected,Mode=TwoWay}"
SelectedValuePath="{Binding Value.Description}"
ItemsSource="{Binding CategoryFields}" />
我正在尝试获取用户选择的描述。
答案 0 :(得分:1)
这可能是你的问题:
SelectedValuePath="{Binding Value.Description}"
此属性不需要绑定;它应该是属性路径,就像DisplayMemberPath
一样。将其更改为:
SelectedValuePath="Value.Description"