2016-12-02 68 views
0

我想放大InkCanvas。在UWP中縮放InkCanvas的簡單方法?

我的第一個想法是:

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

但這種方式沒有奏效。

我不能在我的Canvas上寫任何東西后,我把它放進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中有邊界,所以你可以看到他們是在關係到海誓山盟。以下是InkCanvas_Loaded方法:

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); 
    } 

您可以通過按住Ctrl鍵並向上或向下移動鼠標中鍵進行滾動。如果你在觸摸屏上,你可以捏/展開放大/縮小!

0

您可能需要將ZoomMode從「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>