當選擇了這個選項時,有沒有辦法改變ListviewItem的屬性?uwp win10列表視圖SelectedItem樣式
作爲一個例子,我希望ListviewItem中的矩形在選中時是紅色的,默認情況下是藍色的。
如何以優雅的方式實現這一目標?
當選擇了這個選項時,有沒有辦法改變ListviewItem的屬性?uwp win10列表視圖SelectedItem樣式
作爲一個例子,我希望ListviewItem中的矩形在選中時是紅色的,默認情況下是藍色的。
如何以優雅的方式實現這一目標?
您可以設置ListView.ItemContainerStyle
來定製ListView
中使用的ListViewItems
的樣式。
此頁面顯示的默認樣式:https://msdn.microsoft.com/en-us/library/windows/apps/mt299136.aspx
在您的例子的情況下 - 你會在代碼更改Selected~Background
性質類似於如下:
<ListView ...>
<ListView.ItemContainerStyle>
<Style
TargetType="ListViewItem">
<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="{ThemeResource SystemControlHighlightListAccentLowBrush}"
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>
我已經在另一個地方回答了這個問題請檢查一下! UWP gridview item selection style
那麼,那可能肯定會起作用,我只是喜歡我的回答而不會推薦你。 :) –
謝謝你的回答,菲利普。我已經準備好了xaml的樣子。裏卡多的代碼讓我進一步解決了這個問題。我投了兩個答案,但我選擇了他的答案。再次感謝你們兩位。 – phm
此外,如何使用此樣式更改SelectedItem的BorderBrush? –