Combobox用户手册输入和选择更改

时间:2018-08-08 07:52:49

标签: wpf forms events combobox

我正在尝试提出两种不同的操作,当组合框和手动文本输入上的选择发生更改时,这些操作将公开其他字段。 但是,一个会触发另一个。

SelectionChanged="ComboBoxAccount_SelectionChanged"
TextBoxBase.TextChanged="ComboBoxAccount_textChanged"

我如何才能准确确定是否存在用户手动输入,而不是选择更改,这些更改是由表单上的不同选择填充而引起的,因此引发了两个不同的事件?

1 个答案:

答案 0 :(得分:0)

我在ComboBoxAccount_SelectionChanged()上使用了comboxAccount.IsKeyboardFocusWithin来确定它是否是手动输入。

static void Main(string[] args)
{
    var src = new PagedCollectionResultDTO<ExampleDTO>();
    src.Data = new List<ExampleDTO>{
        new  ExampleDTO{ Field1 = 1, Field2 = 2 }
    };
    var adapter = new TypeAdapter();
    var result = adapter.Adapt(src, AdaptExampleDTO);
}

public static ExampleModel AdaptExampleDTO(ExampleDTO source)
{
    if (source == null) return null;

    var target = new ExampleModel()
    {
        Field1 = source.Field1,
        Field2 = source.Field2
    };

    return target;
}