调整内容大小以适应屏幕分辨率

Che*_*rot 7 wpf

你好,我有一个带标签和文本框的窗口(wpf),我希望他尽可能地适应屏幕分辨率,我该怎么做

小智 25

如果您需要在调整窗口大小时按比例缩放窗口内容(例如最大化窗口),Viewbox非常有用.在这个简约的页面中

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Viewbox>
        <StackPanel>
            <TextBlock FontSize="14">Example</TextBlock>
            <Border Background="Aqua" Width="100" Height="100"></Border>                    
        </StackPanel>
    </Viewbox>
</Window>
Run Code Online (Sandbox Code Playgroud)

你有一个TextBlock和一个垂直堆叠的彩色边框; 如果你启动这个xaml,窗口的大小将为300x300,TextBlock的字体大小为14,彩色边框的大小为100x100.如果您重新缩放窗口,您将相应地看到TextBlock和Border缩放(因此它们将不再是您在xaml中指定的大小),保持相对比例.在这方面,Viewbox非常有用,如果你需要一个窗口,其内部组件布局看起来总是独立于它将显示的最终分辨率(重要的是宽高比,思考).这显然适用于你放在Viewbox中的任何内容(我们有一个带有视频和3D视图的应用程序).请注意,在Visual Studio 2008中,您将无法在Designer中看到Viewbox的内容.

希望这有帮助.