如何阅读wpf中的可编辑组合框

时间:2015-03-09 09:44:14

标签: c# wpf

我正在努力使组合框可编辑。

组合框具有数据绑定功能,可以使用数据库中的名称列表进行更新。 如果列表中不存在所需的名称,则用户可以使用此组合框输入新名称(IsEditable设置为true)。

此外,数据库中有一些以前项目的记录,我希望根据项目选择显示,用户想要更新。

这是XAML代码

基于TPTypeComboBox选择

<ComboBox Height="23" HorizontalAlignment="Left" Margin="285,68,0,0" Name="TPTypeComboBox" VerticalAlignment="Top" Width="119" ItemsSource="{Binding}" DisplayMemberPath="name" SelectionChanged="TPTypeComboBox_SelectionChanged"/>

更新ProjectIDUsedComboBox的代码

    private void TPTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        ProjectIDUsedComboTxtBox.DataContext = DBConnector.IsTPRecordsExists();     // ISTPRecordsEsixts returns DataTable 
    }

这是XAML代码(可编辑的组合框)

<ComboBox Height="22" HorizontalAlignment="Left" Margin="131,144,0,0" Name="ProjectIDUsedComboTxtBox" VerticalAlignment="Top" Width="271" IsEditable="True" 
    ItemsSource="{Binding}" DisplayMemberPath="project_name_used" SelectionChanged="ProjectIDUsedComboTxtBox_SelectionChanged" />

现在我想从输入的文本中读取新输入的值。

现在点击“更新”按钮,我试图从可编辑的组合框中读取值。

<Button Content="Update" Height="24" HorizontalAlignment="Left" Margin="227,596,0,0" Name="UpdateTPRecordButton" VerticalAlignment="Top" Width="74" Click="UpdateTPRecordButton_Click" />

首先我试图读取所选的值,如果它为null,那么我试图从文本中读取。

if (ProjectIDUsedComboTxtBox != null)
{
    var selItem = (DataRowView)ProjectIDUsedComboTxtBox.SelectedItem;
    if (selItem != null)
        {
            var temp = selItem.Row;                
            var value = (string)temp.ItemArray.GetValue(0);
        }
        else
        {
            var prjIDUsed = ProjectIDUsedComboTxtBox.Text.Trim();
        }           
}

但我总是将'ProjectIDUsedComboTxtBox'作为null。

任何建议/链接,如何阅读此文本值。

此致

0 个答案:

没有答案