私は Win8 開発の初心者であり、C# や Javascript などの経験があるため、かなり簡単だと思われる設計の実装に行き詰まっています。
このような DataTemplate を作成しました:</p>
<DataTemplate x:Key="Customized250x250ItemTemplate">
<Grid HorizontalAlignment="Left" Width="250" Height="250">
<Border>
<Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
</Border>
<TextBlock HorizontalAlignment="Right" TextWrapping="Wrap" Text="{Binding State}" VerticalAlignment="Top" Margin="0,10,20,0" FontFamily="Segoe UI" FontSize="12"/>
<Grid x:Name="InfoGrid" Background="Black" Opacity="0">
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Nickname" VerticalAlignment="Center" Margin="10,0,0,0" FontFamily="Segoe UI" FontSize="17.333" Grid.Row="1"/>
<TextBlock HorizontalAlignment="Right" TextWrapping="Wrap" Text="{Binding Nickname}" VerticalAlignment="Center" Margin="0,0,20,0" FontFamily="Segoe UI" FontSize="19.333" Grid.Row="2"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Age" VerticalAlignment="Center" Margin="10,0,0,0" FontFamily="Segoe UI" FontSize="17.333" Grid.Row="3"/>
<TextBlock HorizontalAlignment="Right" TextWrapping="Wrap" Text="{Binding Age}" VerticalAlignment="Center" Margin="0,0,20,0" FontFamily="Segoe UI" FontSize="19.333" Grid.Row="4"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Race" VerticalAlignment="Center" Margin="10,0,0,0" FontFamily="Segoe UI" FontSize="17.333" Grid.Row="5"/>
<TextBlock HorizontalAlignment="Right" TextWrapping="Wrap" Text="{Binding Race}" VerticalAlignment="Center" Margin="0,0,20,0" FontFamily="Segoe UI" FontSize="19.333" Grid.Row="6"/>
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Language" VerticalAlignment="Center" Margin="10,0,0,0" FontFamily="Segoe UI" FontSize="17.333" Grid.Row="7"/>
<TextBlock HorizontalAlignment="Right" TextWrapping="Wrap" Text="{Binding Language}" VerticalAlignment="Center" Margin="0,0,20,0" FontFamily="Segoe UI" FontSize="19.333" Grid.Row="8"/>
</Grid>
</Grid>
</DataTemplate>
「 InfoGrid 」という名前の Gridは、現在のホバー GridViewItemの詳細情報のオーバーレイ コンテナーとして設計されており、特定のGridViewItem がホバーされると、オーバーレイがうまくフェード インします。そこで、Opacity を 0 に設定し、デザインを完成させるためのいくつかのアプローチを探しました (このデザインを Web サイトで何度も使用しましたが、Win8 アプリでは初めてです)。
それは私が本当に閉じ込められていると感じるときです、それは不可能に思えます.
テンプレート(ItemTemplate & ItemContainerStyle)をオーバーライドする傾向がありますが、うまくいきません。ItemTemplate はすべてデータに関するものであり、ItemContainerStyle はすべてスタイルに関するものですが、それらは互いに独立しています。PointerOver 状態がオンの場合、ItemTemplate のコンテンツには何もできず、外側のコンテナーの役に立たないプロパティを変更するだけです。
Win8 Metro の GridViewが単一の GridViewItem に対してHoverイベントを提供しない理由がわかりません。これを完了するために知っておく必要があることはありますか? いくつかのヒントをください。