画面に合わせてインクキャンバスの幅と高さを変更したい。サイズを変更すると、幅が右に、高さが下に拡張されます。しかし、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>
ありがとう
更新: インクキャンバスをグリッドに配置しました。画面に収まりますが、子要素の位置がずれています。
赤い長方形の位置を修正したい。
赤い長方形の位置は変更しないでください。
<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: 選択ツールあり
ズームアウトすると、キャンバスとインクキャンバスが小さくなります。
選択ツールを使用する場合は、すべての画像をキャンバスからインクキャンバスにコピーします。
しかし、インクキャンバスはズームアウトしているため、インクキャンバスの境界外では選択ツールを使用できません。
これが、インクキャンバスのサイズを変更して子の位置を修正したい理由です。