C#/XAML で Windows 8.1 アプリを設計しています。Windows Phone で見られる傾斜効果を再現しようとしています。ScaleTransform と PointerDownThemeAnimation の両方でこれを試しました。
ただし、Y 方向ではスケール効果が壊れているように見えます。UI 要素を縮小するだけでなく、ページ上で垂直方向に押し下げます。8.1 より前の Windows 8 アプリでスケールを使用しましたが、この問題はありませんでした。
見知らぬ人でさえ、デザインビューではうまく機能します。RenderTransformOrigin を「0.5, 0.5」に設定してみました。テキスト ブロックのスケールを 0.5 に設定するとどうなるかの例を次に示します。
問題は何だと思いますか、どうすれば解決できますか? ありがとう
編集: XAML のほとんどは次のとおりです。
<Grid Height="{Binding PalettePanelHeight}">
<TextBlock Text="Palettes" FontSize="70" Margin="24,22,0,0"/>
<StackPanel Orientation="Horizontal" Name="typePanel" HorizontalAlignment="Right" Margin="0,52,24,0">
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="0,0,24,0"/>
<Setter Property="FontWeight" Value="Light"/>
<Setter Property="FontSize" Value="28"/>
</Style>
</StackPanel.Resources>
<TextBlock Text="Newest" Opacity="1" PointerPressed="on_PointerDown" PointerExited="on_PointerUp" PointerReleased="on_PointerUp" Tapped="newest_Tapped" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock Text="Most popular" Opacity="0.45" PointerPressed="on_PointerDown" PointerExited="on_PointerUp" PointerReleased="on_PointerUp" Tapped="popular_Tapped" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<ScaleTransform/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock Text="Highest rated" Opacity="0.45" PointerPressed="on_PointerDown" PointerExited="on_PointerUp" PointerReleased="on_PointerUp" Tapped="rating_Tapped" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<ScaleTransform/>
</TextBlock.RenderTransform>
</TextBlock>
</StackPanel>
スケール 0.5 の 'Newest' テキスト ブロックがサンプル イメージに表示されます。「PalettePanelHeight」は、コード内の Window.Current.Bounds.Height にすぎません。