我现在正在使用Visual Studio上的WinRT的Hub App模板,并需要有关样式的帮助。当我打开HubPage.xaml时,我看到Standard310x260ItemTemplate,它是一个网格,下面有一个图像和一些文本。它循环遍历SampleData.json文件中的所有项目。我可以更改文本和字体等。它似乎工作正常。我无法弄清楚当鼠标悬停在它上面时如何改变它。
<DataTemplate x:Key="Standard310x260ItemTemplate">
<Grid Height="250" Width="310" Margin="5,10,5,10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" Height="150">
<Image Source="{Binding ImagePath}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<StackPanel Grid.Row="1" Margin="0,10,0,0">
<TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextBlockStyle}" TextWrapping="NoWrap" Foreground="Red"/>
<TextBlock Text="{Binding Lesson1_text1}" Style="{StaticResource BodyTextBlockStyle}" MaxHeight="60" />
</StackPanel>
</Grid>
</DataTemplate>
默认情况下,它会更改文字的颜色,但我不知道代码的位置。我提出了代码片段,它基本上是模板附带的代码片段。我希望更改第二个TextBlock,以便在悬停时使用斜体字,而不是更改字体颜色。这可能非常简单,但我无法找到它的代码。
感谢您阅读本文!
答案 0 :(得分:0)
我认为这样做的一个简单方法就是制作一个触发器。
您必须在风格BodyTextBlockStyle
这是一段代码:
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="FontStyle" Value="Italic" />
</Trigger>
</Style.Triggers>
另外,我建议您访问msdn并了解有关VisualStateManager
的一些信息