我有一个组合框绑定到集合的项目源,我正在改变代码隐藏的选择,用户可以从UI更改选择。 无论如何都要检查选择从UI或我的逻辑中改变的位置。
我试图在选择更改事件的EventArgs中使用OriginalSource但是没有用?有什么建议吗?
答案 0 :(得分:1)
当您从代码中更改选择时,只需设置一些标志(例如,类的布尔字段)。
因此,如果在选择更改事件发生时未设置标志 - 则是导致选择更改的用户。如果设置了标志 - 那么您的业务逻辑会调用选择更改。
当然,不要忘记在选择更改事件处理程序中清除该标志。
答案 1 :(得分:0)
您可以使用可以为空的布尔标志作为bool? IsChangedByUser = null;
。首先将其设置为null,以便选择不会从任何地方更改。
现在,如果用户更改了它,请将其设为true
。如果您从代码中进行更改,请将其设为false
。