有一个ListView的项目包含可见性设置为Collapsed的Button。当指针经过包含该按钮的ListViewItem时,如何使按钮可见?可以使用VisualStateManager实现吗?
我试过下面的方法,但到目前为止还没有成功。可以只使用xaml而不使用C#吗?
<ListView x:Name="Items" Width="500" Height="700">
<ListView.ItemTemplate>
<DataTemplate>
<Border>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="OkButtom" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="Some Text" Grid.Column="0"/>
<Button x:Name="OkButtom" Visibility="Collapsed" Content="OK" Grid.Column="1"/>
</Grid>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
字符串
1条答案
按热度按时间68de4m5k1#
VisualStateManager不会以这种方式工作。
有几种方法可以实现它,下面是使用XAML Behaviors的方法。从nuget添加Microsoft.Toolkit.Uwp.UI.Behaviors,然后为
PointerEntered
和PointerExited
事件添加EventTriggerBehaviors,以便它们将调用ChangePropertyAction来更改Button的可见性。字符串