Esempio n. 1
0
        public BreadcrumbCore()
        {
            //AddHandler(BreadcrumbItem.SelectedEvent, (RoutedEventHandler)delegate(object sender, RoutedEventArgs args)
            //{
            //    //Debug.WriteLine(this.GetValue(IsDropDownOpenProperty));
            //    this.SetValue(IsDropDownOpenProperty, false);
            //    //args.Handled = true;
            //});

            this.AddValueChanged(ItemsSourceProperty, (o, e) =>
            {
                if (this.Items.Count > 0)
                {
                    BreadcrumbItem firstItem = this.ItemContainerGenerator.ContainerFromIndex(0) as BreadcrumbItem;
                    if (firstItem != null)
                    {
                        firstItem.ShowCaption = firstItem.ShowToggle = this.Items.Count == 1;
                    }
                }
                updateOverflowedItems();
            });

            AddHandler(BreadcrumbItem.SelectedEvent, (RoutedEventHandler)((o, e) =>
            {
                SelectedBreadcrumbItem = e.OriginalSource as BreadcrumbItem;
                if (SelectedBreadcrumbItem is BreadcrumbItem)
                {
                    var item = (SelectedBreadcrumbItem as BreadcrumbItem);
                    SetValue(SelectedValueProperty, item.DataContext);
                }
                this.SetValue(IsDropDownOpenProperty, false); //Close << drop down when selected.
                RaiseEvent(new RoutedEventArgs(SelectedValueChangedEvent));
                e.Handled = true;
            }));
        }
Esempio n. 2
0
        protected override DependencyObject GetContainerForItemOverride()
        {
            var retVal = new BreadcrumbItem(true)
            {
                HeaderTemplate = this.HeaderTemplate,
                IconTemplate   = this.IconTemplate
            };

            return(retVal);
        }
Esempio n. 3
0
        protected override DependencyObject GetContainerForItemOverride()
        {
            BreadcrumbItem retVal = new BreadcrumbItem(false)
            {
                HeaderTemplate = HeaderTemplate,
                IconTemplate   = IconTemplate,
            };

            retVal.ShowToggle = false;
            return(retVal);
        }