私のアプリにTextBlock
があります。私はそれのフォントのサイズを変更するにはpinch in & out
を処理したい。 イベントが発生すると、私はScale
のプロパティをチェックしますが、ほとんどの場合、Scale
は、私の指が遠くなったり近づいたりしても1です。 または期待どおりに動作しません。UWPアプリでピンチイン&アウトを処理する方法
誰も私の例をどのようにピンチインまたはアウトが起こったのを見つけるために表示することができますか?
私のアプリにTextBlock
があります。私はそれのフォントのサイズを変更するにはpinch in & out
を処理したい。 イベントが発生すると、私はScale
のプロパティをチェックしますが、ほとんどの場合、Scale
は、私の指が遠くなったり近づいたりしても1です。 または期待どおりに動作しません。UWPアプリでピンチイン&アウトを処理する方法
誰も私の例をどのようにピンチインまたはアウトが起こったのを見つけるために表示することができますか?
スクロールビューアをその周りに配置します。それはボックスのピンチを介してズームしています。
TextBlock
〜Scale
にManipulationMode
を設定しましたか?
また、Transparent
の背景を持つGrid
またはBorder
コンテナに操作を入れて、操作イベントをキャプチャすることをお勧めします。 TextBlock
の場合、ヒットテストの問題にぶつかり、操作イベントが発生しない可能性があります。
<Grid ManipulationMode="Scale" ManipulationDelta="YourHandler">
<TextBlock Text="YourTextBlock" />
</Grid>
を処理する必要があります
は、次のコードを確認してください。私はなぜそれが1であるのか、それがどうして起こったのかを知る方法はほとんど分かりません。 – Maryamコードに問題があるかどうかはわかりませんが、簡単なコードサンプルを作成しました。それはあなたの目標を達成することができます。私はイベントが発生しますし、私はそれで問題ありません言ったよう
<Grid Background="Red" Height="200" ManipulationDelta="StackPanel_ManipulationDelta" ManipulationMode="Scale">
<TextBlock FontFamily="Verdana"
FontSize="32"
FontWeight="Bold"
Foreground="SteelBlue"
Text="Scaled Text" IsTextScaleFactorEnabled="True">
<TextBlock.RenderTransform>
<ScaleTransform x:Name="ScaleTransform" ScaleX="1.0" ScaleY="1.0" />
</TextBlock.RenderTransform>
</TextBlock>
</Grid>
private void Grid_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
ScaleTransform.ScaleX *= e.Delta.Scale;
ScaleTransform.ScaleY *= e.Delta.Scale;
}
私はScrollViewerのを使用することはできませんありませんが、私はそれを自分自身 – Maryam