我制作了一个图片查看器,它是Window
和SizeToContent="Width"
。当我用系列中的第一张照片打开时,这看起来就是我想要的方式。防止内容更改时窗口的自动调整大小
当我浏览系列中的下一张照片时,发现照片的宽度比上一张更宽,Window
的大小调整为适合此新照片。 Window
的左边缘保持在同一位置,但Window
的右边缘现在位于屏幕边缘之外。
如何防止这种自动调整大小?
我不想使用ResizeMode="NoResize"
,因为我希望用户能够根据自己的需要手动更改Window
的大小。
XAML
<Window SizeToContent="Width" WindowStartupLocation="CenterOwner">
<Grid>
<DockPanel>
<Button DockPanel.Dock="Left"
Content="Previous" />
<Button DockPanel.Dock="Right"
Content="Next" />
<Image Source="{Binding CurrentImage}"
Stretch="Uniform"
StretchDirection="DownOnly"
RenderOptions.BitmapScalingMode="Fant" />
</DockPanel>
</Grid>
</Window>
删除'SizeToContent = “宽度”'。也许你真正的问题是,“我正在调整我的窗口的内容,因为[列表原因]。这很糟糕,因为窗口不断调整大小,因为我显示不同的图像。这是我的XAML [白色]。我怎样才能达到[理由]行为?” – Will
如果我删除'SizeToContent',窗口总是太大。我希望窗口大小适当,以便第一个图像正确显示,然后不再调整大小(除非通过用户交互)。 'SizeToContent'精美地完成了第一个。 – GTHvidsten
@GTHvidsten如果是这样的话,你可以通过代码获得第一个图像的宽度并将其应用到启动窗口 –