首页 > 解决方案 > C# WPF DataGrid 事件处理程序,用于读入列中可编辑的 ComboBox 值

问题描述

我正在寻找一个事件处理程序,它将从可编辑的组合框中传递更新的值(这意味着文本条目也是一个可以输入的值,以及在某些行中的下拉列表中的可选择项)。

更新组合框时,我还需要获取同一行中其他列的值。

关于如何获取值的示例代码将不胜感激。

标签: c#wpfcomboboxdatagrid

解决方案


试试这个TextBoxBase.TextChanged事件:

private void ComboBox_TextChanged(object sender, TextChangedEventArgs e)
{
    ComboBox comboBox = (ComboBox)sender;
    string text = comboBox.Text;
    IEnumerable items = comboBox.Items.OfType<ComboBoxItem>();
    ComboBoxItem selectedItem = comboBox.SelectedItem as ComboBoxItem;
    Debug.WriteLine(text);
}

XAML:

<ComboBox IsEditable="True" TextBoxBase.TextChanged="ComboBox_TextChanged">
    <ComboBoxItem>first</ComboBoxItem>
    <ComboBoxItem>second</ComboBoxItem>
    <ComboBoxItem>third</ComboBoxItem>
</ComboBox>

推荐阅读