0

嗨,我正在尝试将我的 ComboBox 选定项绑定到我的视图模型中的一个属性,在该属性中,setter 将获取此值并执行一些其他逻辑。现在我的 ComboBox 工作正常,可以从 observablecollection 系统中提取项目,但是我无法将作为序列的 selectedItem 绑定到属性。所选项目未获取 ComboBox 的字符串值。其他一切都可以,在后面的代码中将 DataContext 分配给视图。任何想法这是我的视图模型:

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" />
4

1 回答 1

2

您的组合框绑定到 的集合CablingRequest,因此您应该将 绑定SelectedItem到 的实例CablingRequest,或者如果您只想要序列号,那么您应该将 设置SelectedValuePath为类型的“SerialNumber”属性CablingRequest

有关详细信息,请参阅SelectedItem、SelectedValue 和 SelectedValuePath 之间的区别

于 2013-05-04T18:01:35.820 回答