首页 新闻 会员 周边 捐助

wpf ScrollViewer内嵌多个InkCanvas时,点击InkCanvas时ScrollViewer会自动滚动

0
悬赏园豆:10 [已解决问题] 解决于 2019-03-25 21:12

在ScrollViewer内嵌入多个InkCanvas,InkCanvas的高度比较高,一个窗口内显示不完,当在两个InkCanvas同时显示时,即屏幕上半部是第一个InkCanvas,下半部是第二个InkCanvas,这个时候如果点击第一个InkCanvas,则会自动向下滚动,这时第一个InkCanvas的底部处于屏幕底部。

如果点击第二个InkCanvas,则会自动向上滚动,这是第二个InkCanvas的顶部处于屏幕的顶部。

这个自动滚动产生的问题是,鼠标只点击了一下,画出来却是很长一条线。怎么解决呢。

duxer的主页 duxer | 初学一级 | 园豆:8
提问于:2019-01-10 10:38
< >
分享
最佳答案
0

方便给出这部分代码么?

收获园豆:10
楚人Leo | 小虾三级 |园豆:803 | 2019-01-13 22:16

这是主窗口当中的xaml

    <ScrollViewer Name="srcolMain" ScrollBar.Scroll="srcolMain_Scroll" ScrollChanged="srcolMain_ScrollChanged" Grid.Row="1" Grid.Column="0" IsManipulationEnabled="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Hidden" PanningMode="VerticalOnly" ManipulationBoundaryFeedback="ScrollViewer_ManipulationBoundaryFeedback">

        <Grid Name="gridList" Background="White">
            <Grid.RowDefinitions>
                <RowDefinition Height="2370"></RowDefinition>
            </Grid.RowDefinitions>
        </Grid>
    </ScrollViewer>
    

然后通过代码在gridList当中插入多个用户控件,每个控件的高度和上面定义的2370相同。

下面是用户控件的xaml,其中myImg是背景图片,这个控件的主要功能就是在背景图片涂鸦

<Grid Name="mainGrid">
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition Height="20"></RowDefinition>
    </Grid.RowDefinitions>
    <Image Grid.Row="0" Name="myImg" Stretch="Uniform" StretchDirection="Both">
    </Image>

    <InkCanvas Grid.Row="0" UseCustomCursor="True" Background="Transparent" x:Name="myCanvas"  IsManipulationEnabled="True" >

    </InkCanvas>
    <DockPanel Grid.Row="1" Background="Gray"></DockPanel>
</Grid>

控件的后台代码比较简单就是设置背景图片

        myImg.Source= new BitmapImage(new Uri(imgUrl));
duxer | 园豆:8 (初学一级) | 2019-01-14 10:01

这是其它一些相关的问题,能帮忙一起解决一下吗,
https://q.cnblogs.com/q/112576/
我还在猪八戒网上发布了相同的需求
https://task.zbj.com/188034888234999808

duxer | 园豆:8 (初学一级) | 2019-01-14 16:31

@duxer: 猪八戒看不了,需求比较多,可以加微信详聊。初步觉得应该使用自定义模板来实现。
微信号:Leolion610

楚人Leo | 园豆:803 (小虾三级) | 2019-01-14 21:14
其他回答(1)
0

我也遇到相同的问题,你解决了吗

赵小云灬 | 园豆:202 (菜鸟二级) | 2022-01-21 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册