2016-12-02 15 views
0

InkCanvasを拡大しようとしています。UWPでInkCanvasをズームするシンプルな方法はありますか?

<ScrollViewer ZoomMode="True"> 
    <InkCanvas> 
    </InkCanvas> 
</ScrollViewer> 

しかし、この方法では動作しませんでした:

私の最初のアイデアでした。

私はキャンバス上に何かを書き込むことはできません。私はキャンバスをScrollViewerに入れた後に何も書き込めません。

多分誰かが助けることができます。

おかげ

Agredo

答えて

0

ただ概念の少しの証拠を構築し、私はそれが動作しました!ここで

はXAMLである:彼らはお互いに関連している場所を見ることができるように

<ScrollViewer ZoomMode="Enabled" MinZoomFactor="1" MaxZoomFactor="7"        HorizontalScrollBarVisibility="Visible" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
       VerticalScrollBarVisibility="Visible" Height="275" Width="525" BorderBrush="LightBlue" BorderThickness="2"> 
    <Border BorderBrush="Black" BorderThickness="2" Height="250" Width="500"> 
     <InkCanvas x:Name="InkCanvas" Loaded="InkCanvas_Loaded"/> 
    </Border> 
</ScrollViewer> 

私は国境にインクキャンバスとScrollViewerのを包みました。

private void InkCanvas_Loaded(object sender, RoutedEventArgs e) 
    { 
     InkCanvas canvas = sender as InkCanvas; 

     //Set inputs 
     canvas.InkPresenter.InputDeviceTypes = 
      Windows.UI.Core.CoreInputDeviceTypes.Mouse | 
      Windows.UI.Core.CoreInputDeviceTypes.Pen | 
      Windows.UI.Core.CoreInputDeviceTypes.Touch; 

     // Set initial ink stroke attributes. 
     InkDrawingAttributes drawingAttributes = new InkDrawingAttributes(); 
     drawingAttributes.Size = new Size(10, 10); 
     drawingAttributes.Color = Windows.UI.Colors.Black; 
     drawingAttributes.IgnorePressure = false; 
     drawingAttributes.FitToCurve = true; 
     canvas.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); 
    } 

コントロールを保持し、マウスの中央ボタンを上下に動かすと、スクロールすることができます。タッチスクリーンを使用している場合は、ピンチ/展開してズームイン/ズームアウトすることができます。

0

ズームモードを「True」から「Enabled」に変更し、キャンバスにも高さを追加する必要があります。いくつかのコントロールは、デフォルトでは子をストレッチしません。

これが私の作品:

 <ScrollViewer x:Name="scrollViewer" ZoomMode="Enabled" MinZoomFactor="1" VerticalScrollMode="Enabled" VerticalScrollBarVisibility="Auto" HorizontalScrollMode="Enabled" HorizontalScrollBarVisibility="Auto"> 
     <Grid x:Name="outputGrid" Background="{ThemeResource SystemControlBackgroundChromeWhiteBrush}" Height="Auto"> 
      <InkCanvas x:Name="inkCanvas"/> 
     </Grid> 
    </ScrollViewer> 
関連する問題