简体   繁体   English

Breadcrumbar ItemTemplate 在定制时不会改变?

[英]Breadcrumbar ItemTemplate won't changed when customized?

I want to change the BreadcrumberItem style(Template) in Breadcrumber.I had changed the itemTemplate of BreadCrumber.我想更改 Breadcrumber 中的 BreadcrumberItem 样式(模板)。我更改了 BreadCrumber 的 itemTemplate。 But it always takes the default style of BreadcrumberItem.但它始终采用 BreadcrumberItem 的默认样式。 My Complete Project Link .我的完整项目链接 I want to change the next indication ChevronIcon(PART_ChevronTextBlock) text to "/".我想将下一个指示 ChevronIcon(PART_ChevronTextBlock) 文本更改为“/”。

My xaml:我的xaml:

<Grid x:Name="grid">
    <controls:BreadcrumbBar x:Name="bread" Width="200" Height="100">
        <controls:BreadcrumbBar.ItemTemplate>
            <ControlTemplate TargetType="controls:BreadcrumbBarItem">
                <Grid x:Name="PART_LayoutRoot">
                    <Grid.Resources>
                        <Flyout x:Name="PART_EllipsisFlyout">
                            <Flyout.FlyoutPresenterStyle>
                                <Style TargetType="FlyoutPresenter">
                                    <Setter Property="Background" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBackground}"/>
                                    <Setter Property="BorderBrush" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBorderBrush}"/>
                                    <Setter Property="BorderThickness" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBorderThemeThickness}"/>
                                    <Setter Property="Padding" Value="0,2"/>
                                    <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
                                    <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
                                    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
                                    <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="False"/>
                                    <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="False"/>
                                    <Setter Property="ScrollViewer.ZoomMode" Value="Disabled"/>
                                    <Setter Property="MaxWidth" Value="{ThemeResource FlyoutThemeMaxWidth}"/>
                                    <Setter Property="MinHeight" Value="40"/>
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="FlyoutPresenter">
                                                <Grid Background="{TemplateBinding Background}" CornerRadius="{ThemeResource ControlCornerRadius}">
                                                    <ScrollViewer x:Name="FlyoutPresenterScrollViewer" AutomationProperties.AccessibilityView="Raw" Content="{TemplateBinding Content}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" Margin="{TemplateBinding Padding}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"/>
                                                    <Border x:Name="FlyoutPresenterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{ThemeResource ControlCornerRadius}"/>
                                                </Grid>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </Flyout.FlyoutPresenterStyle>
                        </Flyout>
                    </Grid.Resources>
                    <Grid.CornerRadius>
                        <ThemeResource ResourceKey="ControlCornerRadius"/>
                    </Grid.CornerRadius>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition x:Name="PART_ContentColumn" Width="Auto"/>
                        <ColumnDefinition x:Name="PART_ChevronColumn" Width="Auto"/>
                    </Grid.ColumnDefinitions>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="ItemTypeStates">
                            <VisualState x:Name="Inline"/>
                            <VisualState x:Name="EllipsisDropDown">
                                <VisualState.Setters>
                                    <Setter Target="PART_ItemButton.Visibility" Value="Collapsed"/>
                                    <Setter Target="PART_ChevronTextBlock.Visibility" Value="Collapsed"/>
                                    <Setter Target="PART_ContentColumn.Width" Value="*"/>
                                    <Setter Target="PART_EllipsisDropDownItemContentPresenter.Visibility" Value="Visible"/>
                                    <Setter Target="PART_LayoutRoot.Padding" Value="11,7,11,9"/>
                                    <Setter Target="PART_LayoutRoot.Margin" Value="5,3"/>
                                    <Setter Target="PART_LayoutRoot.FocusVisualMargin" Value="-3"/>
                                    <Setter Target="PART_ItemButton.(Control.IsTemplateFocusTarget)" Value="False"/>
                                    <Setter Target="PART_LayoutRoot.(Control.IsTemplateFocusTarget)" Value="True"/>
                                </VisualState.Setters>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="EllipsisDropDownItemCommonStates">
                            <VisualState x:Name="Normal">
                                <Storyboard>
                                    <PointerUpThemeAnimation Storyboard.TargetName="PART_LayoutRoot"/>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="PointerOver">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundPointerOver}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundPointerOver}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Pressed">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundPressed}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundPressed}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Disabled">
                                <Storyboard>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundDisabled}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundDisabled}"/>
                                    </ObjectAnimationUsingKeyFrames>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="InlineItemTypeStates">
                            <VisualState x:Name="Default">
                                <VisualState.Setters>
                                    <Setter Target="PART_ChevronTextBlock.Text" Value="/"/>
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="DefaultRTL">
                                <VisualState.Setters>
                                    <Setter Target="PART_ChevronTextBlock.Text" Value="/"/>
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="LastItem">
                                <VisualState.Setters>
                                    <Setter Target="PART_ItemButton.Visibility" Value="Collapsed"/>
                                    <Setter Target="PART_ChevronTextBlock.Visibility" Value="Collapsed"/>
                                    <Setter Target="PART_LastItemContentPresenter.Visibility" Value="Visible"/>
                                    <Setter Target="PART_ItemButton.(Control.IsTemplateFocusTarget)" Value="False"/>
                                    <Setter Target="PART_LastItemContentPresenter.(Control.IsTemplateFocusTarget)" Value="True"/>
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="Ellipsis">
                                <VisualState.Setters>
                                    <Setter Target="PART_ChevronTextBlock.Text" Value="/"/>
                                    <Setter Target="PART_EllipsisTextBlock.Visibility" Value="Visible"/>
                                    <Setter Target="PART_ItemContentPresenter.Visibility" Value="Collapsed"/>
                                </VisualState.Setters>
                            </VisualState>
                            <VisualState x:Name="EllipsisRTL">
                                <VisualState.Setters>
                                    <Setter Target="PART_EllipsisTextBlock.Visibility" Value="Visible"/>
                                    <Setter Target="PART_ItemContentPresenter.Visibility" Value="Collapsed"/>
                                    <Setter Target="PART_ChevronTextBlock.Text" Value="/"/>
                                </VisualState.Setters>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <Button x:Name="PART_ItemButton" AutomationProperties.AccessibilityView="Raw" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.Column="0" FocusVisualMargin="-3" IsTabStop="False" Control.IsTemplateFocusTarget="True" AutomationProperties.Name="BreadcrumbBarItemButton" Padding="1,3" x:DeferLoadStrategy="Lazy">
                        <Button.Style>
                            <Style TargetType="Button">
                                <Setter Property="Foreground" Value="{ThemeResource BreadcrumbBarNormalForegroundBrush}"/>
                                <Setter Property="BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}"/>
                                <Setter Property="Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}"/>
                                <Setter Property="HorizontalAlignment" Value="Left"/>
                                <Setter Property="VerticalAlignment" Value="Center"/>
                                <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
                                <Setter Property="FontWeight" Value="Normal"/>
                                <Setter Property="FontSize" Value="{ThemeResource BreadcrumbBarItemThemeFontSize}"/>
                                <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}"/>
                                <Setter Property="Padding" Value="0,0,0,0"/>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="Button">
                                            <Grid Background="Transparent">
                                                <VisualStateManager.VisualStateGroups>
                                                    <VisualStateGroup x:Name="CommonStates">
                                                        <VisualState x:Name="Normal">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarNormalForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="CurrentNormal">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentNormalForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="PointerOver">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarHoverForegroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="CurrentPointerOver">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentHoverForegroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="Pressed">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarPressedForegroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="CurrentPressed">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentPressedForegroundBrush}"/>
                                                                <Setter Target="PART_ContentPresenter.Background" Value="Transparent"/>
                                                                <Setter Target="PART_ContentPresenter.BorderBrush" Value="Transparent"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="Disabled">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarDisabledForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="CurrentDisabled">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentDisabledForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="Focus">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarFocusForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                        <VisualState x:Name="CurrentFocus">
                                                            <VisualState.Setters>
                                                                <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentFocusForegroundBrush}"/>
                                                            </VisualState.Setters>
                                                        </VisualState>
                                                    </VisualStateGroup>
                                                </VisualStateManager.VisualStateGroups>
                                                <ContentPresenter x:Name="PART_ContentPresenter" AutomationProperties.AccessibilityView="Raw" BorderBrush="{TemplateBinding BorderBrush}" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" AutomationProperties.Name="ContentPresenter" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                            </Grid>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </Button.Style>
                        <Grid AutomationProperties.AccessibilityView="Raw" AutomationProperties.Name="BreadcrumbBarItemGrid">
                            <ContentPresenter x:Name="PART_ItemContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Grid.Column="0" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" FontFamily="{TemplateBinding FontFamily}" FontWeight="{TemplateBinding FontWeight}" FontSize="{TemplateBinding FontSize}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" LineHeight="20" AutomationProperties.Name="BreadcrumbBarItemContentPresenter" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
                            <TextBlock x:Name="PART_EllipsisTextBlock" AutomationProperties.AccessibilityView="Raw" Grid.Column="0" FontFamily="{ThemeResource SymbolThemeFontFamily}" FontSize="{TemplateBinding FontSize}" IsTextScaleFactorEnabled="False" AutomationProperties.Name="BreadcrumbBarEllipsisTextBlock" Padding="3" Text="&#xE712;" VerticalAlignment="Stretch" Visibility="Collapsed"/>
                        </Grid>
                    </Button>
                    <ContentPresenter x:Name="PART_LastItemContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" CornerRadius="{ThemeResource ControlCornerRadius}" Grid.Column="0" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" Foreground="{ThemeResource BreadcrumbBarCurrentNormalForegroundBrush}" FocusVisualMargin="-3" FontFamily="{TemplateBinding FontFamily}" FontWeight="{TemplateBinding FontWeight}" FontSize="{TemplateBinding FontSize}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" LineHeight="20" Padding="1,3" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed"/>
                    <ContentPresenter x:Name="PART_EllipsisDropDownItemContentPresenter" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" Grid.Column="0" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" FontWeight="Normal" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalContentAlignment="Stretch" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Visibility="Collapsed" x:DeferLoadStrategy="Lazy"/>
                    <TextBlock x:Name="PART_ChevronTextBlock" AutomationProperties.AccessibilityView="Raw" Grid.Column="1" Foreground="{ThemeResource BreadcrumbBarNormalForegroundBrush}" FontFamily="SegoeUI" FontSize="14" HorizontalAlignment="Center" IsTextScaleFactorEnabled="False" AutomationProperties.Name="ChevronTextBlock" Padding="{ThemeResource BreadcrumbBarChevronPadding}" Text="/" VerticalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </controls:BreadcrumbBar.ItemTemplate>
    </controls:BreadcrumbBar>
</Grid>

In c#:在 c#:

 bread.ItemsSource = new List<string> { "g", "j", "o", "p" };

This code does what you want to do.这段代码做你想做的。

  1. Bring the DefaultBreadcrumbBarItemStyle from generic.xaml .generic.xaml 引入DefaultBreadcrumbBarItemStyle
  2. Remove the DefaultBreadcrumbBarItemStyle key.删除DefaultBreadcrumbBarItemStyle键。
  3. Change all {ThemeResource SymbolThemeFontFamily} to {ThemeResource ContentControlThemeFontFamily} .将所有{ThemeResource SymbolThemeFontFamily}更改为{ThemeResource ContentControlThemeFontFamily}
  4. Override <x:String x:Key="BreadcrumbBarChevronLeftToRight">&#xE974;</x:String> to <x:String x:Key="BreadcrumbBarChevronLeftToRight">/</x:String> .<x:String x:Key="BreadcrumbBarChevronLeftToRight">&#xE974;</x:String><x:String x:Key="BreadcrumbBarChevronLeftToRight">/</x:String>
<Grid>
    <Grid.Resources>
        <Style x:Key="CustomBreadcrumbBarItemStyle" TargetType="BreadcrumbBarItem">
            <Setter Property="Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}" />
            <Setter Property="BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}" />
            <Setter Property="FocusVisualMargin" Value="1" />
            <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
            <Setter Property="FontSize" Value="{ThemeResource BreadcrumbBarItemThemeFontSize}" />
            <Setter Property="FontWeight" Value="{ThemeResource BreadcrumbBarItemFontWeight}" />
            <Setter Property="Foreground" Value="{ThemeResource BreadcrumbBarForegroundBrush}" />
            <Setter Property="HorizontalAlignment" Value="Stretch" />
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
            <Setter Property="IsTabStop" Value="True" />
            <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="VerticalContentAlignment" Value="Center" />
            <Setter Property="CornerRadius" Value="{ThemeResource ControlCornerRadius}" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="BreadcrumbBarItem">
                        <Grid x:Name="PART_LayoutRoot" CornerRadius="{TemplateBinding CornerRadius}">

                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="ItemTypeStates">
                                    <VisualState x:Name="Inline" />
                                    <VisualState x:Name="EllipsisDropDown">
                                        <VisualState.Setters>
                                            <Setter Target="PART_ItemButton.Visibility" Value="Collapsed" />
                                            <Setter Target="PART_ChevronTextBlock.Visibility" Value="Collapsed" />
                                            <Setter Target="PART_ContentColumn.Width" Value="*" />
                                            <Setter Target="PART_EllipsisDropDownItemContentPresenter.Visibility" Value="Visible" />
                                            <Setter Target="PART_LayoutRoot.Padding" Value="11,7,11,9" />
                                            <Setter Target="PART_LayoutRoot.Margin" Value="5,3" />
                                            <Setter Target="PART_LayoutRoot.FocusVisualMargin" Value="-3" />
                                            <Setter Target="PART_ItemButton.(Control.IsTemplateFocusTarget)" Value="False" />
                                            <Setter Target="PART_LayoutRoot.(Control.IsTemplateFocusTarget)" Value="True" />

                                        </VisualState.Setters>
                                    </VisualState>

                                </VisualStateGroup>
                                <VisualStateGroup x:Name="EllipsisDropDownItemCommonStates">
                                    <VisualState x:Name="Normal">

                                        <Storyboard>
                                            <PointerUpThemeAnimation Storyboard.TargetName="PART_LayoutRoot" />
                                        </Storyboard>
                                    </VisualState>

                                    <VisualState x:Name="PointerOver">

                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundPointerOver}" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundPointerOver}" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>

                                    <VisualState x:Name="Pressed">

                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundPressed}" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundPressed}" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>

                                    <VisualState x:Name="Disabled">

                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_LayoutRoot" Storyboard.TargetProperty="Background">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemBackgroundDisabled}" />
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PART_EllipsisDropDownItemContentPresenter" Storyboard.TargetProperty="Foreground">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource BreadcrumbBarEllipsisDropDownItemForegroundDisabled}" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>

                                </VisualStateGroup>
                                <VisualStateGroup x:Name="InlineItemTypeStates">
                                    <VisualState x:Name="Default">
                                        <VisualState.Setters>
                                            <Setter Target="PART_ChevronTextBlock.Text" Value="{ThemeResource BreadcrumbBarChevronLeftToRight}" />

                                        </VisualState.Setters>
                                    </VisualState>
                                    <VisualState x:Name="DefaultRTL">
                                        <VisualState.Setters>
                                            <Setter Target="PART_ChevronTextBlock.Text" Value="{ThemeResource BreadcrumbBarChevronRightToLeft}" />

                                        </VisualState.Setters>
                                    </VisualState>
                                    <VisualState x:Name="LastItem">
                                        <VisualState.Setters>
                                            <Setter Target="PART_ItemButton.Visibility" Value="Collapsed" />
                                            <Setter Target="PART_ChevronTextBlock.Visibility" Value="Collapsed" />
                                            <Setter Target="PART_LastItemContentPresenter.Visibility" Value="Visible" />
                                            <Setter Target="PART_ItemButton.(Control.IsTemplateFocusTarget)" Value="False" />
                                            <Setter Target="PART_LastItemContentPresenter.(Control.IsTemplateFocusTarget)" Value="True" />

                                        </VisualState.Setters>
                                    </VisualState>
                                    <VisualState x:Name="Ellipsis">
                                        <VisualState.Setters>
                                            <Setter Target="PART_ChevronTextBlock.Text" Value="{ThemeResource BreadcrumbBarChevronLeftToRight}" />
                                            <Setter Target="PART_EllipsisTextBlock.Visibility" Value="Visible" />
                                            <Setter Target="PART_ItemContentPresenter.Visibility" Value="Collapsed" />

                                        </VisualState.Setters>
                                    </VisualState>
                                    <VisualState x:Name="EllipsisRTL">
                                        <VisualState.Setters>
                                            <Setter Target="PART_EllipsisTextBlock.Visibility" Value="Visible" />
                                            <Setter Target="PART_ItemContentPresenter.Visibility" Value="Collapsed" />
                                            <Setter Target="PART_ChevronTextBlock.Text" Value="{ThemeResource BreadcrumbBarChevronRightToLeft}" />

                                        </VisualState.Setters>
                                    </VisualState>

                                </VisualStateGroup>

                            </VisualStateManager.VisualStateGroups>

                            <Grid.Resources>
                                <Flyout x:Name="PART_EllipsisFlyout">
                                    <Flyout.FlyoutPresenterStyle>
                                        <Style TargetType="FlyoutPresenter">
                                            <Setter Property="Background" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBackground}" />
                                            <Setter Property="BorderBrush" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBorderBrush}" />
                                            <Setter Property="BorderThickness" Value="{ThemeResource BreadcrumbBarEllipsisFlyoutPresenterBorderThemeThickness}" />
                                            <Setter Property="Padding" Value="0,2" />
                                            <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" />
                                            <Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto" />
                                            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
                                            <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="False" />
                                            <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="False" />
                                            <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
                                            <Setter Property="MaxWidth" Value="{ThemeResource FlyoutThemeMaxWidth}" />
                                            <Setter Property="MinHeight" Value="40" />
                                            <Setter Property="CornerRadius" Value="{ThemeResource OverlayCornerRadius}" />
                                            <Setter Property="Template">
                                                <Setter.Value>
                                                    <ControlTemplate TargetType="FlyoutPresenter">
                                                        <Grid Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding CornerRadius}" BackgroundSizing="InnerBorderEdge">
                                                            <ScrollViewer x:Name="FlyoutPresenterScrollViewer" Margin="{TemplateBinding Padding}" HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" Content="{TemplateBinding Content}" ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}" AutomationProperties.AccessibilityView="Raw" />
                                                            <Border x:Name="FlyoutPresenterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}" />
                                                        </Grid>
                                                    </ControlTemplate>
                                                </Setter.Value>
                                            </Setter>
                                        </Style>
                                    </Flyout.FlyoutPresenterStyle>
                                </Flyout>
                            </Grid.Resources>

                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" x:Name="PART_ContentColumn" />
                                <ColumnDefinition Width="Auto" x:Name="PART_ChevronColumn" />
                            </Grid.ColumnDefinitions>
                            <Button x:Name="PART_ItemButton" x:DeferLoadStrategy="Lazy" Grid.Column="0" AutomationProperties.Name="BreadcrumbBarItemButton" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Control.IsTemplateFocusTarget="True" IsTabStop="False" FocusVisualMargin="-3" Padding="1,3" CornerRadius="{TemplateBinding CornerRadius}" AutomationProperties.AccessibilityView="Raw">
                                <Button.Style>
                                    <Style TargetType="Button">
                                        <Setter Property="Foreground" Value="{ThemeResource BreadcrumbBarNormalForegroundBrush}" />
                                        <Setter Property="BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}" />
                                        <Setter Property="Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}" />
                                        <Setter Property="HorizontalAlignment" Value="Left" />
                                        <Setter Property="VerticalAlignment" Value="Center" />
                                        <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
                                        <Setter Property="FontWeight" Value="Normal" />
                                        <Setter Property="FontSize" Value="{ThemeResource BreadcrumbBarItemThemeFontSize}" />
                                        <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
                                        <Setter Property="Padding" Value="0,0,0,0" />
                                        <Setter Property="Template">
                                            <Setter.Value>
                                                <ControlTemplate TargetType="Button">
                                                    <Grid Background="Transparent">
                                                        <VisualStateManager.VisualStateGroups>
                                                            <VisualStateGroup x:Name="CommonStates">
                                                                <VisualState x:Name="Normal">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarNormalForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <!-- Current refers to the last item -->
                                                                <VisualState x:Name="CurrentNormal">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentNormalForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="PointerOver">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarHoverForegroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="CurrentPointerOver">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentHoverForegroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="Pressed">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarPressedForegroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.Background" Value="{ThemeResource BreadcrumbBarBackgroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.BorderBrush" Value="{ThemeResource BreadcrumbBarBorderBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="CurrentPressed">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentPressedForegroundBrush}" />
                                                                        <Setter Target="PART_ContentPresenter.Background" Value="Transparent" />
                                                                        <Setter Target="PART_ContentPresenter.BorderBrush" Value="Transparent" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="Disabled">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarDisabledForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="CurrentDisabled">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentDisabledForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="Focus">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarFocusForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                                <VisualState x:Name="CurrentFocus">
                                                                    <VisualState.Setters>
                                                                        <Setter Target="PART_ContentPresenter.Foreground" Value="{ThemeResource BreadcrumbBarCurrentFocusForegroundBrush}" />
                                                                    </VisualState.Setters>
                                                                </VisualState>
                                                            </VisualStateGroup>
                                                        </VisualStateManager.VisualStateGroups>
                                                        <ContentPresenter x:Name="PART_ContentPresenter" AutomationProperties.Name="ContentPresenter" BorderBrush="{TemplateBinding BorderBrush}" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" AutomationProperties.AccessibilityView="Raw" />
                                                    </Grid>
                                                </ControlTemplate>
                                            </Setter.Value>
                                        </Setter>
                                    </Style>
                                </Button.Style>
                                <!-- This is the Button Content -->
                                <Grid AutomationProperties.Name="BreadcrumbBarItemGrid" AutomationProperties.AccessibilityView="Raw">
                                    <ContentPresenter x:Name="PART_ItemContentPresenter" AutomationProperties.Name="BreadcrumbBarItemContentPresenter" Grid.Column="0" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" ContentTemplate="{TemplateBinding ContentTemplate}" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontWeight="{TemplateBinding FontWeight}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" LineHeight="20" AutomationProperties.AccessibilityView="Raw" />
                                    <TextBlock x:Name="PART_EllipsisTextBlock" AutomationProperties.Name="BreadcrumbBarEllipsisTextBlock" Grid.Column="0" FontFamily="{ThemeResource ContentControlThemeFontFamily}" FontSize="{TemplateBinding FontSize}" Padding="3" Text="&#xE712;" Visibility="Collapsed" VerticalAlignment="Stretch" IsTextScaleFactorEnabled="False" AutomationProperties.AccessibilityView="Raw" />
                                </Grid>
                            </Button>
                            <!-- ContentPresenter to be shown only when the rendered item is the Current Item -->
                            <ContentPresenter x:Name="PART_LastItemContentPresenter" Grid.Column="0" Visibility="Collapsed" Content="{TemplateBinding Content}" ContentTransitions="{TemplateBinding ContentTransitions}" ContentTemplate="{TemplateBinding ContentTemplate}" FocusVisualMargin="-3" FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontWeight="{TemplateBinding FontWeight}" Foreground="{ThemeResource BreadcrumbBarCurrentNormalForegroundBrush}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" LineHeight="20" Padding="1,3" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" CornerRadius="{TemplateBinding CornerRadius}" AutomationProperties.AccessibilityView="Raw" />
                            <!-- ContentPresenter to be shown only when the rendered item is a drop down Item -->
                            <ContentPresenter x:Name="PART_EllipsisDropDownItemContentPresenter" x:DeferLoadStrategy="Lazy" Grid.Column="0" Visibility="Collapsed" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalContentAlignment="Stretch" FontWeight="Normal" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" AutomationProperties.AccessibilityView="Raw" />
                            <!-- TextBlock that contains the chevron icon -->
                            <TextBlock x:Name="PART_ChevronTextBlock" AutomationProperties.Name="ChevronTextBlock" Grid.Column="1" HorizontalAlignment="Center" IsTextScaleFactorEnabled="False" FontFamily="{ThemeResource ContentControlThemeFontFamily}" FontSize="{ThemeResource BreadcrumbBarChevronFontSize}" Foreground="{ThemeResource BreadcrumbBarNormalForegroundBrush}" Text="&#xE76C;" Padding="{ThemeResource BreadcrumbBarChevronPadding}" VerticalAlignment="Center" AutomationProperties.AccessibilityView="Raw" />

                        </Grid>

                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Grid.Resources>

    <BreadcrumbBar ItemsSource="{x:Bind Items}">
        <BreadcrumbBar.Resources>
            <x:String x:Key="BreadcrumbBarChevronLeftToRight">/</x:String>
            <Style
                BasedOn="{StaticResource CustomBreadcrumbBarItemStyle}"
                TargetType="BreadcrumbBarItem" />
        </BreadcrumbBar.Resources>
    </BreadcrumbBar>
</Grid>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在属性窗口中更改后,自定义属性将不会保存 - Custom property won't save when changed in property window WPF c#在更改对象类时动态切换Itemtemplate - WPF c# dynamically switch Itemtemplate when object class gets changed 为什么我的标签不会更改 - Why won't my labels stay changed 中继命令 CanExecute 仅在视图模型构造函数中调用一次,但在属性更改时不会再次调用 - Relay Command CanExecute is only invoked in the viewmodels constuctor once but won't invoke again when Properties are changed ItemTemplate中的AJAX不起作用 - AJAX In ItemTemplate Doesn't Work 有没有办法只将当前属性值分配给另一个属性,以便以后更改值时它不会更新? UWP C# - Is there a way to assign only current property value to another property so that it won't update when the value is later changed? UWP C# 无法在ItemTemplate中调用控件 - Can't call controls in ItemTemplate apsx.cs文件中的文本框不会更新更改的文本 - Textbox in apsx.cs file won't update a changed text 如果仅更改属性的元素,则INotifyPropertyChanged不会更新属性 - INotifyPropertyChanged won't update a property if only the properties' elements changed 如何在UWP中更改选择后在Pivot.Itemtemplate中获取控件? - How to get the a control inside a Pivot.Itemtemplate on selection changed in UWP?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM