如何检查Combobox的选择是否已从UI或业务逻辑更改

时间:2015-04-06 08:31:39

标签: c# wpf xaml events

我有一个组合框绑定到集合的项目源,我正在改变代码隐藏的选择,用户可以从UI更改选择。 无论如何都要检查选择从UI或我的逻辑中改变的位置。

我试图在选择更改事件的EventArgs中使用OriginalSource但是没有用?有什么建议吗?

2 个答案:

答案 0 :(得分:1)

当您从代码中更改选择时,只需设置一些标志(例如,类的布尔字段)。

因此,如果在选择更改事件发生时未设置标志 - 则是导致选择更改的用户。如果设置了标志 - 那么您的业务逻辑会调用选择更改。

当然,不要忘记在选择更改事件处理程序中清除该标志。

答案 1 :(得分:0)

您可以使用可以为空的布尔标志作为bool? IsChangedByUser = null;。首先将其设置为null,以便选择不会从任何地方更改。

现在,如果用户更改了它,请将其设为true。如果您从代码中进行更改,请将其设为false