locked
listbox绑定数据源新增数据时遇到的问题。 RRS feed

  • 问题

  • 一个listbox 绑定一个ObservableCollection<model>
    listbox的模板是一个自定义控件。
    在自定义控件的loaded事件里面会根据绑定的DataContext去显示隐藏不同的控件。
    在绑定成功之后给 ObservableCollection里面Insert 一条新数据。  自定义控件的loaded获取的DataContext as model  是 最后一条数据,而不是新增加的那条数据。

    请问如何解决?

    另,自定义控件有绑定事件嘛?

    有码有真相

     void CustomVoiceCommentItemCtrl_Loaded(object sender, RoutedEventArgs e)
            {
                CommentModel model = this.DataContext as CommentModel;
                if (model != null)
                {
                    switch (model.Type)
                    {
                        case TCommentEnum.Text:
                            this.VoicePanel.Visibility = Visibility.Collapsed;
                            this.RecommentContent.Visibility = Visibility.Visible;
                            break;
                        case TCommentEnum.Audio:
                            this.RecommentContent.Visibility = Visibility.Collapsed;
                            this.VoicePanel.Visibility = Visibility.Visible;
                            break;
                    }
                }
            }

    2012年11月29日 9:41

答案

全部回复