示例#1
0
        /// <summary>
        /// The constructor, which creates a new ContextPopup instance.
        /// </summary>
        public ContextPopup()
        {
            _contextPopup = DependencyService.Get <IContextPopup>(DependencyFetchTarget.NewInstance);

            _contextPopup.Dismissed    += (s, e) => Dismissed?.Invoke(this, EventArgs.Empty);
            _contextPopup.ItemSelected += (s, e) => ItemSelected?.Invoke(this, EventArgs.Empty);

            _items = new ObservableCollection <ContextPopupItem>();
            _items.CollectionChanged += ItemsCollectionChanged;

            SetBinding(IsAutoHidingEnabledProperty, new Binding(nameof(IsAutoHidingEnabled), mode: BindingMode.TwoWay, source: _contextPopup));
            SetBinding(DirectionPrioritiesProperty, new Binding(nameof(DirectionPriorities), mode: BindingMode.TwoWay, source: _contextPopup));
            SetBinding(SelectedItemProperty, new Binding(nameof(SelectedItem), mode: BindingMode.TwoWay, source: _contextPopup));
        }
        /// <summary>
        /// The constructor, which creates a new ContextPopup instance.
        /// </summary>
        /// <since_tizen> 4 </since_tizen>
        public ContextPopup()
        {
            _contextPopup = DependencyService.Get <IContextPopup>(DependencyFetchTarget.NewInstance);

            _items = new ObservableCollection <ContextPopupItem>();
            _items.CollectionChanged += ItemsCollectionChanged;

            SetBinding(SelectedItemProperty, new Binding(nameof(SelectedItem), mode: BindingMode.TwoWay, source: _contextPopup));

            _contextPopup.Dismissed    += (s, e) => Dismissed?.Invoke(this, EventArgs.Empty);
            _contextPopup.ItemSelected += (s, e) =>
            {
                SelectedItem = e.SelectedItem as ContextPopupItem;
                ItemSelected?.Invoke(this, new SelectedItemChangedEventArgs(e.SelectedItem));
            };
        }