将SelectedValue绑定到WPF组合框

Chr*_*Cap 4 wpf combobox wpf-controls

我试过上下搜索但找不到任何东西.我在listview中有一个组合框.listview绑定到通过datacontext绑定的控制器公开的对象列表.列表中项目的一个属性是字符串.我试图将该值绑定到组合框中的内容.

这是我的列表视图的片段

<ListView ItemsSource="{Binding Path=OrderLines}" >

            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Item Type" Width="Auto">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <ComboBox Width="100" SelectedItem="{Binding Path=LineType,ValidatesOnDataErrors=True}" >

                                    <ComboBoxItem>Type1</ComboBoxItem>
                                    <ComboBoxItem>Type2</ComboBoxItem>
                                    <ComboBoxItem>Type3</ComboBoxItem>
                                    <ComboBoxItem>Type4</ComboBoxItem>
                                </ComboBox>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>    
                </GridView>
             </ListView.View>
Run Code Online (Sandbox Code Playgroud)

在控制器中,我有一个名为OrderLines的属性

    private List<OrderLine> orderLines;
    public List<OrderLine> OrderLines 
    { 
        get { return orderLines; }
        set
        {
            if (value == orderLines)
                return;

            orderLines= value;

            OnPropertyChanged("OrderLines");
        }
    }
Run Code Online (Sandbox Code Playgroud)

OrderLine只有一个名为LineType的属性,它是一个包含该值的字符串.

    private string lineType;
    public string LineType 
    {
        get { return lineType; }

        set
        {
            lineType= value;
            OnPropertyChanged("LineType ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助解释为什么没有设置所选的项目/值.这与我的内容硬编码有关吗?谢谢你的帮助.

use*_*035 5

它可能不绑定,因为LineType是一个字符串,ComboBox包含ComboBoxItems和一个字符串!= ComboBoxItem.

尝试一下

 <ComboBox>
      <system:String>Item1</system:String>
      <system:String>Item2</system:String>
 </ComboBox>
Run Code Online (Sandbox Code Playgroud)

其中system是mscorlib中引用System的命名空间