コード例 #1
0
ファイル: MemberListViewModel.cs プロジェクト: markusl/jro
        /// <summary>
        /// Construct new MemberListViewModel.
        /// </summary>
        /// <param name="name">Name of the view. To be displayed in the user interface</param>
        /// <param name="container">The member container</param>
        /// <param name="restrictor">The filter to restrict members shown in this view.</param>
        public MemberListViewModel(string name, MembersContainer container,
                                   Dispatcher dispatcher,
                                   MemberCollectionView mcv)
        {
            base.DisplayName = name;
            this.Collection = mcv.CollectionView;
            this.SelectedItems = new ObservableCollection<MemberViewModel>();
            this.MenuOptions = new ObservableCollection<Control>();

            new MemberListViewMenu(this, container);
            this.SelectedItems.CollectionChanged += delegate { this.OnPropertyChanged("StatusText"); };

            // Gather list of implemented filters in this assembly.
            CompositionHelper.ComposeInExecutingAssemblyWithExported<IMemberListView>(this);
            DefineFilters(mcv);
        }
コード例 #2
0
ファイル: MemberListViewModel.cs プロジェクト: markusl/jro
 private void DefineFilters(MemberCollectionView mcv)
 {
     _textFilterPredicate = (MemberViewModel member) =>
     {
         return String.IsNullOrEmpty(FilterString) ? true :
                 member.DisplayName.ToLower().Contains(FilterString.ToLower());
     };
     mcv.Filters.Add(_textFilterPredicate);
 }