调整WPF应用程序的大小
本文关键字:应用程序 WPF 调整 | 更新日期: 2023-09-27 18:08:23
试过搜索谷歌,但我很难找到这个问题的答案。
我有一个基本的WPF应用程序与几个控件。当我最大化应用程序时,屏幕上的控件保持相同的大小,我浪费了很多空间。
是否有一种方法可以让控件随着主窗口的大小动态地增长和缩小?
亲切的问候火山灰
不要为控件设置固定的Height和Width属性。相反设置,水平和垂直对齐来拉伸。并确保您的控件包含在适当的布局面板中。
例如——
固定大小网格:
<Grid Background="Red" Width="50" Height="50"/>
动态扩展网格:
<Grid Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
你需要的不是调整大小,而是缩放(或缩放);-)
阅读本文;这个任务在WPF中非常简单。
(以前在Windows窗体中要复杂得多…)。
UI缩放(UI缩放)与WPF
基本上你只需要在XAML中添加以下内容: <ScaleTransform
CenterX="0" CenterY="0"
ScaleX="{Binding ElementName=uiScaleSlider,Path=Value}"
ScaleY="{Binding ElementName=uiScaleSlider,Path=Value}"
/>
之后,您可以使用鼠标滚轮或滑块或任何其他方式(如在您的情况下检测表单最大化),以修改ScaleTransform
的Value
。
有志者事竟成。你必须自己做一些工作,然而,WPF不能自动决定你想要如何调整大小。
相关资料:
- <
- 布局容器/gh>数据绑定
你可以使用内容装饰器,它可以拉伸和缩放单个子元素来填充可用的空间- Viewbox。
http://www.wpftutorials.com/2011/04/wpf-viewbox.html这没问题。控件的行为取决于您使用的容器以及水平和垂直对齐方式。例如,如果你使用一个网格,一个文本框和一个按钮水平和垂直对齐:拉伸和宽度和高度自动,文本字段和按钮将动态增长和收缩。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">
<Grid x:Name="LayoutRoot">
<TextBox Margin="8,8,8,104.96" TextWrapping="Wrap" Text="TextBox" Height="auto" Width="auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
<Button Content="Button" Margin="8,0,8,8" VerticalAlignment="Bottom" Height="92.96" Width="auto" HorizontalAlignment="Stretch"/>
</Grid>
使用可调整大小的控件,如Grid,并将所有控件放在行/列中。还要将HorizontalAlignment设置为每个控件的拉伸。