您好我正在尝试将我的ComboBox选择项绑定到我的视图模型中的属性,其中setter将获取此值并执行其他逻辑。现在我的ComboBox正在正确地从一个observablecollection系统中拉出项目但是我无法将一个序列的selectedItem绑定到一个属性。所选项目未获取ComboBox的字符串值。 Eveything还可以将DataContext分配给后面代码中的视图。任何想法都是我的viewModel:
public class CablingRequests : ObservableCollection<CablingRequest>
{
public ObservableCollection<CablingRequest> PendingRequests { get; set; }
public ObservableCollection<CablingRequest> ProcessedRequests { get; set; }
public ObservableCollection<CablingRequest> Systems { get; set; }
public ObservableCollection<CablingRequest> SelectedSystemConfiguration { get; set; }
private string _serial;
public string Serial
{
get { return _serial; }
set
{
if (_serial == value)
return;
_serial = value;
GetSelectedSystemConfiguration(_serial);
}
}
我的组合框的xaml代码:
<ComboBox x:Name="ComboBoxSerial" ItemsSource="{Binding Path=Systems}"
DisplayMemberPath="SerialNumber" SelectedValue="{Binding Path=Serial, Mode=TwoWay}"
IsSynchronizedWithCurrentItem="True" MinWidth="150" />
答案 0 :(得分:2)
您的组合框绑定到CablingRequest
的集合,因此您应该将SelectedItem
绑定到CablingRequest
的实例,或者如果您只想要序列号,那么您应该将SelectedValuePath
设置为CablingRequest
类型的'SerialNumber'属性。
有关详细信息,请参阅Difference between SelectedItem, SelectedValue and SelectedValuePath。