В UWP, каждый раз выбирается ListViewItem
, раскадровка запускается, чтобы дать пользователю ощущение, что компонент реагирует на давление прикосновения. Эта раскадровка также меняет цвет фона ListViewItem
, пока он не будет выпущен.Как изменить визуальное поведение ListViewItem в UWP?
Я разработал UserControl
, который использует внутреннее устройство ListView
, но хотел бы переопределить это поведение, так как оно действительно не соответствует предлагаемому дизайну приложения.
пыльника является VisualStateGroups
я попытался применить как к ListView
через ControlTemplate
и ListViewItem
через DataTemplate
определения несостоявшейся бывшую попытку.
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver" />
<VisualState x:Name="Pressed" />
<VisualState x:Name="PointerOverPressed" />
<VisualState x:Name="Disabled" />
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused" />
<VisualState x:Name="UnFocused" />
<VisualState x:Name="PointerFocused" />
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselecting" />
<VisualState x:Name="Unselected" />
<VisualState x:Name="UnselectedPointerOver" />
<VisualState x:Name="UnselectedSwiping" />
<VisualState x:Name="Selecting" />
<VisualState x:Name="Selected" />
<VisualState x:Name="SelectedSwiping" />
<VisualState x:Name="SelectedUnfocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
Одним из возможных вариантов может быть, чтобы связать корневую сетку с DataTemplate
к ItemsContainer
так, что я мог бы переопределить поведение по умолчанию каждый раз, когда был выбран пункт. Но я не настолько разбираюсь в XAML и не мог понять, как правильно это сделать сам.
Является ли это документированным где угодно? Не см. Подробности на https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.primitives.listviewitempresenter – Trevor