У меня есть следующие в элементе управления пользователя:Windows Phone 8,1 UserControl с холста в ScrollViewer не работает
<Grid Background="#FFEEEEEE" Margin="0,0,0,0">
<TextBlock x:Name="TitleLabel" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Foreground="Black" FontSize="16" FontWeight="Bold"/>
<Border BorderBrush="#FFE2E2E2" Margin="10,60,20,80" CornerRadius="4" BorderThickness="2">
<Grid Background="#ffffffff">
<Grid x:Name="SignatureGrid" Background="Transparent">
<TextBlock TextWrapping="Wrap" Text="Sign here" Foreground="#FFEEEEEE" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="100"/>
<Border BorderBrush="#FF333333" BorderThickness="1" Height="1" VerticalAlignment="Bottom" Margin="20,0,20,50" />
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="Sign here" VerticalAlignment="Bottom" Foreground="#FF333333" FontSize="14" Margin="20,0,0,27"/>
</Grid>
<Canvas x:Name="inkCanvas" Background="Transparent" PointerPressed="inkCanvas_PointerPressed" PointerMoved="inkCanvas_PointerMoved" PointerReleased="inkCanvas_PointerReleased" />
</Grid>
</Border>
<Button x:Name="ClearButton" Content="Clear" HorizontalAlignment="Right" Margin="0,0,20,20" VerticalAlignment="Bottom" Width="162" Background="#FF46B2D5" BorderThickness="0,0,2,0" Click="Button_Click"/>
</Grid>
Я тогда страницу, которая содержит следующее:
<ScrollViewer Grid.Row="2" x:Name="QuestionsScroller" HorizontalAlignment="Stretch" ZoomMode="Disabled" HorizontalScrollMode="Disabled" >
<StackPanel x:Name="SectionContentPanel" />
</ScrollViewer>
В код страницы позади меня динамически добавляет элемент управления (и другие элементы управления) в стеке. В текущей форме холст не работает, но если я удалю ScrollViewer, холст отлично работает, но я, очевидно, не могу прокручивать элементы управления под ним.
В моем случае PointerMoved у меня есть:
Point currentPoint = e.GetCurrentPoint(inkCanvas).Position;
if (_startPoint != currentPoint)
{
_line.Points.Add(currentPoint);
mHasDrawing = true;
}
С ScrollViewer начальную и конечную точку никогда не отличается (я предполагаю, потому что полотно движется с моим пальцем/мышь, как я перетащить по экрану/эмулятора. Без ScrollView, как я уже сказал, это работает, как ожидалось.
Таким образом, вопрос, как я могу реализовать Canvas в ScrollViewer?