我正在编写一个WPF应用程序,该应用程序显示最初位于中心的图像。用户可以使用
问题是当图像比窗口大得多,用户移动图像或缩小到整个图像应该可见时。原本隐藏的部分不会被渲染,而只会绘制原始可视部分的图像。
根据一些其他问题,如果我将我的图像放在
目前,两个变换都设置为
如何告诉WPF始终渲染整个图像而不使用
ScaleTransform
和TranslateTransform
来实现缩放和移动图像。这很好用。问题是当图像比窗口大得多,用户移动图像或缩小到整个图像应该可见时。原本隐藏的部分不会被渲染,而只会绘制原始可视部分的图像。
根据一些其他问题,如果我将我的图像放在
Canvas
内,那么整个图像将被渲染,并且移动时将被正确地渲染。问题是我不想让我的图像处于Canvas
中,因为这会阻止发生任何其他布局 - HorizontalAlignment
和VerticalAlignment
属性被忽略(因此图像不再居中),而且我需要实现一个选项,使图像尽可能大地填充整个窗口区域,但不起作用(将Stretch
属性设置为UniformToFill
不起作用)。目前,两个变换都设置为
RenderTransform
属性。如果我改用LayoutTransform
,整个图像将被绘制,但这也会阻止用户将图像的任何部分移动到窗口的边缘之外(这是我想要保留的行为)。如何告诉WPF始终渲染整个图像而不使用
Canvas
或LayoutTransform
?