Example #1
0
        private static void OnBindingItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var comboBox = d as PUComboBox;
            var items    = comboBox.BindingItems;

            if (items == null)
            {
                return;
            }
            comboBox.Items.Clear();

            foreach (var item in items)
            {
                var comboBoxItem = new PUComboBoxItem()
                {
                    Content = item.Header,
                    Value   = item.Value,
                    DeleteButtonVisibility = item.CanDelete ? Visibility.Visible : Visibility.Collapsed,
                };

                if (comboBox.Items.Count == 0)
                {
                    comboBoxItem.IsSelected = true;
                }
                comboBox.Items.Add(comboBoxItem);
            }
        }
Example #2
0
        private static void OnBindingItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var comboBox = d as PUComboBox;
            var items    = comboBox.BindingItems;

            if (items == null)
            {
                return;
            }
            comboBox.Items.Clear();

            foreach (var item in items)
            {
                var comboBoxItem = new PUComboBoxItem()
                {
                    Content            = item.Header,
                    Value              = item.Value,
                    IsDeleteButtonShow = item.CanDelete,
                };

                if (item.CoverBrush != null)
                {
                    comboBoxItem.CoverBrush = item.CoverBrush;
                }
                if (item.SelectedBrush != null)
                {
                    comboBoxItem.SelectedBrush = item.SelectedBrush;
                }

                comboBoxItem.Selected += delegate
                {
                    if (comboBox.SelectedValuePath == SelectedValuePaths.Header)
                    {
                        comboBox.SelectedValue = comboBoxItem.Content.ToString();
                    }
                    else
                    {
                        comboBox.SelectedValue = comboBoxItem.Value;
                    }
                };

                if (comboBox.Items.Count == 0)
                {
                    comboBoxItem.IsSelected = true;
                }
                comboBox.Items.Add(comboBoxItem);
            }
        }
Example #3
0
        private PUComboBoxItem GenerateComboBoxItem(PUComboBoxItemModel model)
        {
            var comboBoxItem = new PUComboBoxItem()
            {
                Uid       = model.Uid,
                Content   = model.Header,
                Value     = model.Value,
                CanDelete = model.CanDelete,
            };

            model.PropertyChanged += delegate
            {
                comboBoxItem.Content   = model.Header;
                comboBoxItem.Value     = model.Value;
                comboBoxItem.CanDelete = model.CanDelete;
            };

            return(comboBoxItem);
        }
Example #4
0
        private PUComboBoxItem GenerateComboBoxItem(PUComboBoxItemModel model)
        {
            var comboBoxItem = new PUComboBoxItem()
            {
                Content = model.Header,
                Value   = model.Value,
                DeleteButtonVisibility = model.CanDelete ? Visibility.Visible : Visibility.Hidden,
            };

            if (Items.Count == 0)
            {
                comboBoxItem.IsSelected = true;
            }

            model.PropertyChanged += delegate
            {
                comboBoxItem.Content = model.Header;
                comboBoxItem.Value   = model.Value;
                comboBoxItem.DeleteButtonVisibility = model.CanDelete ? Visibility.Visible : Visibility.Hidden;
            };

            return(comboBoxItem);
        }
Example #5
0
        internal void OnDeleteItem(PUComboBoxItem oldItem, PUComboBoxItem newItem)
        {
            RoutedPropertyChangedEventArgs <PUComboBoxItem> arg = new RoutedPropertyChangedEventArgs <PUComboBoxItem>(oldItem, newItem, DeleteItemEvent);

            RaiseEvent(arg);
        }