gpt4 book ai didi

c# - 在 Windows 8 中将视觉状态添加到数据模板

转载 作者:太空狗 更新时间:2023-10-30 00:33:15 26 4
gpt4 key购买 nike

我正在尝试向我的 Windows 8 应用程序添加鼠标悬停效果。具体来说,我试图将它添加到绑定(bind)到 GridView 的 DataTemplates。但是,目前,没有任何反应,我已尝试按照 Microsoft 教程进行操作,但其中大部分要么已过时,要么适用于不同版本的 XAML。

我的代码是这样的:

<DataTemplate x:Key="GameTileTemplate">
<Grid x:Name="grid" Width="173" Height="173" RenderTransformOrigin="0.5,0.5" >
<Grid.Clip>
<RectangleGeometry Rect="0,0,173,173"/>
</Grid.Clip>
<Image Grid.RowSpan="3" Stretch="UniformToFill"/>
<Grid x:Name="DataPanel" Margin="-173,0,0,0" Grid.RowSpan="3" RenderTransformOrigin="0.5,0.5" Width="346" HorizontalAlignment="Left" VerticalAlignment="Top" Height="173">
<!--There is more here-->
</Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStateGroup">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerEntered">
<Storyboard>
<DoubleAnimation From="1" To="0" Duration="00:00:02"
Storyboard.TargetName="DataPanel"
Storyboard.TargetProperty="Opacity">
</DoubleAnimation>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
</DataTemplate>

我的 DataPanel 的不透明度没有改变。我在某处需要一些其他代码吗? Microsoft 教程是针对 ControlTemplate 的,这是否会导致错误,因为我的模板是 DataTemplate?

最佳答案

您在问题中提供的 Xaml 无法自行运行。仅仅定义视觉状态是不够的。您还需要某种代码来调用 VisualStateManager.GoToState .

在您的特定情况下,解决方案不是将视觉状态添加到 DataTemplate,而是为 GridViewItem 创建自定义模板.一般来说,GridViewItem 负责使用通用的指针、选择、拖放状态来装饰 GridView 内部的元素。

关于c# - 在 Windows 8 中将视觉状态添加到数据模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12903791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com