【问题标题】:Stopping InkCanvas from resizing while drawing在绘图时停止 InkCanvas 调整大小
【发布时间】:2012-11-19 21:56:38
【问题描述】:

在我的应用程序中,我有一个InkCanvas,背景中有一张图片。当我在InkCanvas 上绘制到底部或左侧边缘时,InkCanvas 会更改大小以适应草图,这会扰乱背景中图像的渲染。当笔划超出其当前大小时,如何阻止 InkCanvas 调整大小?

当前 XAML:

<InkCanvas x:Name="DrawingArea"
           Width="Auto"
           Height="Auto"
           ClipToBounds="True"
           Background="{x:Null}" />
  • 后台在代码隐藏中设置

【问题讨论】:

    标签: wpf resize inkcanvas


    【解决方案1】:

    在没有指定具体大小的情况下,我发现将MaxWidthMaxHeight 绑定到父元素的ActualWidthActualHeight 可以防止InkCanvas 在元素外扩展。

    <Grid x:Name="LayoutRoot">
        <InkCanvas x:Name="DrawingArea"
                   MaxWidth="{Binding ActualWidth, ElementName=LayoutRoot}"
                   MaxHeight="{Binding ActualHeight, ElementName=LayoutRoot}"
                   Background="{x:Null}" />
        ...
    </Grid>
    

    【讨论】:

      【解决方案2】:

      您可以硬编码宽度而不是使用自动: 宽度 = "200" 高度 = "200"

      【讨论】:

      • 我希望在这种情况下我不必这样做。
      猜你喜欢
      • 2021-02-02
      • 2011-04-14
      • 2014-11-29
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多