![](/img/trans.png)
[英]How to allow control inside the splitview's pane close the pane in uwp?
[英]How to change selection color in SplitView pane UWP?
我需要你的幫助。 我正在開發UWP應用。 現在,我正在漢堡包菜單上,當我選擇一個菜單項時,將其標記為系統重點色 。 我想使選擇樣式像這樣 -菜單項附近的小矩形或至少更改選擇顏色。 但不幸的是,實際上沒有任何信息可以幫助我。 無論是在StackOverflow上還是其他地方。 所以,請幫幫我。 並預先感謝。 這是我的一段代碼:
<SplitView Name="menu" Grid.Row="1" OpenPaneLength="250" CompactPaneLength="50" DisplayMode="CompactInline" PaneClosed="menu_PaneClosed">
<SplitView.Pane>
<RelativePanel>
<ListBox>
<ListBoxItem Name="homeMenu" IsSelected="True">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
<TextBlock Style="{StaticResource MenuItem}" Text="Home"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="gamingMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
<TextBlock Style="{StaticResource MenuItem}" Text="Gaming"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="historyMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
<TextBlock Style="{StaticResource MenuItem}" Text="History"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="likedMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
<TextBlock Style="{StaticResource MenuItem}" Text="Liked videos"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="watchLaterMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
<TextBlock Style="{StaticResource MenuItem}" Text="Watch later"/>
</StackPanel>
</ListBoxItem>
</ListBox>
</RelativePanel>
</SplitView.Pane>
<SplitView.Content>
<Frame Name="content"/>
</SplitView.Content>
</SplitView>
我建議您可以使用ListView
控件代替ListBox。 您將獲得相同的效果。 然后,編輯ListViewItem樣式和模板 。 您會看到其中有一個SelectedBackground="{ThemeResource SystemControlHighlightListAccentLowBrush}"
。 您可以根據需要更改它。
例如,
<Page.Resources>
<Style x:Key="ListViewItemContainerStyle1" TargetType="ListViewItem">
<Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
<Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
<Setter Property="TabNavigation" Value="Local"/>
<Setter Property="IsHoldingEnabled" Value="True"/>
<Setter Property="Padding" Value="12,0,12,0"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}"/>
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ListViewItemPresenter
ContentTransitions="{TemplateBinding ContentTransitions}"
SelectionCheckMarkVisualEnabled="True"
CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
CheckBoxBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
PointerOverForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
SelectedBackground="Red"
SelectedForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
SelectedPointerOverBackground="{ThemeResource SystemControlHighlightListAccentMediumBrush}"
PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
SelectedPressedBackground="{ThemeResource SystemControlHighlightListAccentHighBrush}"
DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
ContentMargin="{TemplateBinding Padding}"
CheckMode="Inline"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<SplitView Name="menu" Grid.Row="1" OpenPaneLength="250" CompactPaneLength="50" DisplayMode="CompactInline">
<SplitView.Pane>
<RelativePanel>
<ListView ItemContainerStyle="{StaticResource ListViewItemContainerStyle1}">
<ListViewItem Name="homeMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Text=""/>
<TextBlock Text="Home"/>
</StackPanel>
</ListViewItem>
<ListViewItem Name="gamingMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Text=""/>
<TextBlock Text="Gaming"/>
</StackPanel>
</ListViewItem>
<ListViewItem Name="historyMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Text=""/>
<TextBlock Text="History"/>
</StackPanel>
</ListViewItem>
<ListViewItem Name="likedMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Text=""/>
<TextBlock Text="Liked videos"/>
</StackPanel>
</ListViewItem>
<ListViewItem Name="watchLaterMenu">
<StackPanel Orientation="Horizontal">
<TextBlock Text=""/>
<TextBlock Text="Watch later"/>
</StackPanel>
</ListViewItem>
</ListView>
</RelativePanel>
</SplitView.Pane>
<SplitView.Content>
<Frame Name="content"/>
</SplitView.Content>
</SplitView>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.