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; })); }
protected override DependencyObject GetContainerForItemOverride() { var retVal = new BreadcrumbItem(true) { HeaderTemplate = this.HeaderTemplate, IconTemplate = this.IconTemplate }; return(retVal); }
protected override DependencyObject GetContainerForItemOverride() { BreadcrumbItem retVal = new BreadcrumbItem(false) { HeaderTemplate = HeaderTemplate, IconTemplate = IconTemplate, }; retVal.ShowToggle = false; return(retVal); }