Viewmodel更改不会触发附加行为中的事件

时间:2015-02-17 08:52:44

标签: c# wpf telerik

我有一个控件 - 特别是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时未调用行为的事件。

1 个答案:

答案 0 :(得分:-1)

我知道radAutoCompleteBox在选择方面存在一些问题,或者至少它有一些问题,你能看出这个LINK是否是你的问题?因为这已被报告为Telerik的问题,我不知道他们是否已修复它,如果它的情况相同,可能对他们提出一张票也很有用。