我正在尝试提出两种不同的操作,当组合框和手动文本输入上的选择发生更改时,这些操作将公开其他字段。 但是,一个会触发另一个。
SelectionChanged="ComboBoxAccount_SelectionChanged"
TextBoxBase.TextChanged="ComboBoxAccount_textChanged"
我如何才能准确确定是否存在用户手动输入,而不是选择更改,这些更改是由表单上的不同选择填充而引起的,因此引发了两个不同的事件?
答案 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;
}