Exemplo n.º 1
0
    void OnClickProfile(SelectableProfile profile)
    {
        if (_activeProfile != null && _activeProfile != profile)
        {
            _activeProfile.Deselect();
        }

        _activeProfile           = profile;
        _loadButton.interactable = true;
    }
Exemplo n.º 2
0
        public void Initialize()
        {
            ProfileList = new ObservableViewModelCollection <QueueMenuProfileViewModel, DisplayProfile>(
                Model.ProfileListView, s => new QueueMenuProfileViewModel()
            {
                QueueVM = this,
                Item    = s
            });

            AutoSelectList = new ObservableViewModelCollection <QueueMenuProfileViewModel, DisplayAutoSelect>(
                Model.AutoSelectListView, s => new QueueMenuProfileViewModel()
            {
                QueueVM = this,
                Item    = s
            });

            PriorityList = new List <PriorityItemViewModel>(
                Model.PriorityList.Select(p => new PriorityItemViewModel()
            {
                QueueVM = this, Priority = p
            }));

            SelectableProfile.Add(new CollectionContainer()
            {
                Collection = AutoSelectList
            });
            SelectableProfile.Add(new CollectionContainer()
            {
                Collection = ProfileList
            });

            queueListener = new CollectionItemListener <DisplayQueueItem>(Model.QueueItems,
                                                                          item => item.PropertyChanged += QueueItemPropertyChanged,
                                                                          item => item.PropertyChanged -= QueueItemPropertyChanged);

            queueListener2 = new CollectionChangedEventListener(Model.QueueItems,
                                                                (sender, e) => ItemStateUpdated());

            itemsView        = CollectionViewSource.GetDefaultView(Model.QueueItems);
            itemsView.Filter = ItemsFilter;

            higeOneSegListener = new PropertyChangedEventListener(Model, (sender, e) =>
            {
                if (e.PropertyName == "Setting" || e.PropertyName == "Setting.HideOneSeg")
                {
                    itemsView.Refresh();
                }
            });
        }