我有一个控件 - 特别是RadAutoCompleteBox
- 并且其SelectedItems
属性绑定到ObservableCollection<T>
。我也有一种倾听SelectionChanged
事件的行为。每当用户更改选择时,都会引发事件 - 但是当我使用ObservableCollection<T>
Clear
方法时,事件不会被引发 - 或者至少不会调用订阅方法。
我看到它的方式有两种选择:
我从某个我不知道的事件中取消订阅该方法 - 我无法在调试器中找到事件的调用列表 - 所以我无法确定。
或者还有其他事情我不知道。
ViewModel的相关部分
public ObserveableCollection<TextOption> QueryPart
{
get { return _queryPart; }
set {
_queryPart = value;
OnPropertyChanged(()=> QueryPart);
}
}
public ICommand AddQueryPart
{
.
.
.
QueryPart.Clear();
.
.
}
相关行为部分
protected override void OnAttached
{
.
.
.
AssociatedObject.SelectionChanged +=
AssociatedObject_SelectionChanged;
.
.
.
}
void AssociatedObject_SelectionChanged(object sender, KeyEventArgs e)
{
.
.
.
}
相关的xaml
<telerik:RadAutoCompleteBox SelectionMode ="Multiple" AutoCompleteMode="SuggestAppend"
SelectedItems= "{Binding QueryPart}"
FlowDirection = "LeftToRight" AllowDrop = "True" >
<i:Interaction.behaviors>
<behaviors:FormatAutoCompleteBehavior/>
</i:Interaction.Behaviors
</telerik:RadAutoCompleteBox
<RadButton Content ="+" Command="{Binding AddQueryPart}">
事情是绑定工作正常清除所选项目,它只是调用QueryPart时未调用行为的事件。
答案 0 :(得分:-1)
我知道radAutoCompleteBox在选择方面存在一些问题,或者至少它有一些问题,你能看出这个LINK是否是你的问题?因为这已被报告为Telerik的问题,我不知道他们是否已修复它,如果它的情况相同,可能对他们提出一张票也很有用。