WPF组合框绑定无法正常工作..它没有显示确切的值

时间:2011-04-23 08:18:20

标签: c# wpf linq combobox binding

我将向您展示代码的确切代码和输出......

这是我的linq .dbml文件

enter image description here

这是我的组合框cbx_contact代码:

 <ComboBox Height="22.669" Margin="107.769,43.75,424.266,0" Name="cbx_contact" VerticalAlignment="Top" IsTabStop="True" SelectedValuePath="ContactID" IsSynchronizedWithCurrentItem="True" IsEditable="True" IsTextSearchEnabled="True">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <TextBlock Text="{Binding Path=ContactName}"/>
                    </Grid>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

这是.cs文件:

public Contacts()
    {
        InitializeComponent();
        DataClasses1DataContext db = new DataClasses1DataContext();
        cbx_contact.ItemsSource = db.Contacts;
        cbx_contact.SelectedIndex = 0;     
    }

这是组合框的输出视图:

enter image description here

enter image description here

这里在组合框的下拉列表中我得到了所有的值但是当我选择任何值时文本没有改变它给出了Contact_Manager.Contact ....

我不知道我在这里失踪了什么...... 我之前也在使用了这样的组合框,但是在这个时候它正在创建probs ...... 提前感谢您的帮助...

1 个答案:

答案 0 :(得分:1)

应用this answer中的概念:

<ComboBox Height="22.669" Margin="107.769,43.75,424.266,0" Name="cbx_contact" VerticalAlignment="Top" IsTabStop="True" SelectedValuePath="ContactID" IsSynchronizedWithCurrentItem="True" IsEditable="True" IsTextSearchEnabled="True" 
        TextSearch.TextPath=ContactName
         >
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                    <TextBlock Text="{Binding Path=ContactName}"/>
                    </Grid>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>