【发布时间】:2011-01-19 07:11:40
【问题描述】:
我想调整 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 应用程序包含许多图片。我可以放大/缩小画布。我可以使用选择工具选择图片。
我有 canvas 和 inkcanvas。
画布:包含图片和放大/缩小
inkcanvas:有选择工具
如果我缩小,canvas 和 inkcanvas 会变小。
如果我使用选择工具,我会将所有图片从画布复制到 inkcanvas。
但是 inkcanvas 被缩小了,如果超出 inkcanvas 边界,我无法使用选择工具。
这就是我要调整 inkcanvas 大小并固定子位置的原因。
【问题讨论】:
-
给我们您的 xaml,我们会告诉您要更改的内容。
-
为什么要将高度和宽度绑定到layoutroot?网格会自动将其子项的大小调整到最大值。请告诉我们更多关于您想要什么的信息。修复 InkCanvas 的孩子是什么意思?固定在画布上还是屏幕上?你想要达到的效果是什么?