我想调整 inkcanvas 的宽度和高度以适合屏幕。当我调整它的大小时,宽度向右扩展,高度向底部扩展。但 inkcanvas 不适合屏幕。
我还想修复inkcanvas子元素的位置。如果我可以调整 inkcanvas 的大小以适应屏幕,则 inkcanvas 子元素的位置不会改变。
如何将 inkcanvas 向左和向上调整大小以适应屏幕?
<Canvas x:Name="Screen" >
<InkCanvas Name="inkcanvas" ResizeEnabled="True"
Width="{Binding ElementName=LayoutRoot, Path=ActualWidth}"
Height="{Binding ElementName=LayoutRoot, Path=ActualHeight}"
EditingMode="Select" ClipToBounds="False"
Background="Bisque"
SelectionChanging="OnSelectionChanging"
Visibility="Collapsed" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<!-- InkCanvas' Child Elements -->
</InkCanvas>
<Canvas.RenderTransform>
<MatrixTransform/>
</Canvas.RenderTransform>
</Canvas>
谢谢
更新: 我将 inkcanvas 放在网格中。它适合屏幕,但子元素的位置发生了变化。
我想修复红色矩形的位置。
红色矩形的位置不应该改变。
<Grid>
<InkCanvas x:Name="inkcanvas" Background="Transparent">
<Rectangle Height="41" HorizontalAlignment="Left" Name="rectangle1" Stroke="Black" VerticalAlignment="Top" Width="69" Fill="#FFDB1111" />
</InkCanvas>
</Grid>
我的大图:
我的 WPF 应用程序包含许多图片。我可以放大/缩小画布。我可以使用选择工具选择图片。
我有帆布和墨水帆布。
画布:包含图片和放大/缩小
inkcanvas:有选择工具
如果我缩小,画布和 inkcanvas 会变小。
如果我使用选择工具,我会将所有图片从画布复制到 inkcanvas。
但 inkcanvas 已缩小,如果超出 inkcanvas 边界,我将无法使用选择工具。
这就是我想调整 inkcanvas 大小并修复孩子位置的原因。