/// <summary> /// Builds the visual tree for the <see cref="FloatingWindowHost" /> control /// when a new template is applied. /// </summary> public override void OnApplyTemplate() { UnsubscribeFromEvents(); UnsubscribeFromTemplatePartEvents(); base.OnApplyTemplate(); root = GetTemplatePart <Grid>(PART_Root); contentRoot = GetTemplatePart <FrameworkElement>(PART_ContentRoot); hostCanvas = GetTemplatePart <Canvas>(PART_HostCanvas); modalCanvas = GetTemplatePart <Canvas>(PART_ModalCanvas); iconBarContainer = GetTemplatePart <FrameworkElement>(PART_IconBarContainer); overlay = GetTemplatePart <Grid>(PART_Overlay); iconBar = GetTemplatePart <IconBar>(PART_IconBar); bottomBar = GetTemplatePart <FrameworkElement>(PART_BottomBar); bootstrapButton = GetTemplatePart <BootstrapButton>(PART_BootstrapButton); barContent = GetTemplatePart <ContentControl>(PART_BarContent); iconBar.FloatingWindowHost = this; SetStyles(); SubscribeToTemplatePartEvents(); SubscribeToEvents(); templateIsApplied = true; }
/// <summary> /// IconBarStyle PropertyChangedCallback call back static function. /// </summary> /// <param name="d">IconBar object whose IconBarStyle property is changed.</param> /// <param name="e">The <see cref="System.Windows.DependencyPropertyChangedEventArgs"/> instance containing the event data.</param> private static void IconBarStylePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { IconBar iconBar = (IconBar)d; if (iconBar != null && iconBar.fixedBar != null) { iconBar.fixedBar.Style = e.NewValue as Style; } }