wpf自适应屏幕分辨率:viewbox控件的使用方法

使用View Box:在固定长宽的canvas/grid外添加viewbox控件,窗口大小或者分辨率改变,里面的控件和字体大小都会自适应改变。

<Window x:Class="WpfTest2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfTest2"
        mc:Ignorable="d"
        Title="MainWindow" WindowState="Maximized">
    <Viewbox>
        <Grid Width="1920" Height="1080">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="400"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="400"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <Button Margin="20" Content="左上" FontSize="50" Grid.Column="0" Grid.Row="0"></Button>
            <Button Margin="20" Content="右上" FontSize="50"  Grid.Column="1" Grid.Row="0"></Button>
            <Button Margin="20" Content="下" FontSize="50"   Grid.Column="0"  Grid.ColumnSpan="2" Grid.Row="1" ></Button>
        </Grid>
    </Viewbox>
</Window>
 

运行后,可以拖拽或者改变电脑分辨率试试效果、

注:如果一开始没有设置最大化,窗口一般不会自适应,需要按比例拖拽才会看到效果

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C# WPF 中实现页面的自适应分辨率,可以采取以下几个步骤: 1. 使用相对布局:使用 XAML 中的布局容器(如 Grid、StackPanel、WrapPanel 等),并设置控件的行、列以及其他布局属性,以实现自适应布局。 2. 使用 Grid 中的行和列定义:通过设置 Grid 中的行和列的定义,可以让控件根据窗口大小自动调整位置和大小。可以使用 "*" 表示自动调整大小的列或行,使用具体数值(如 "200")表示固定大小的列或行。 3. 使用 ViewBox 控件ViewBox 是一个用于缩放其内容的容器控件。将需要自适应分辨率的内容放置在 ViewBox 中,并设置 Stretch 属性为 Uniform 或 UniformToFill,即可实现内容的自动缩放。 4. 响应窗口大小改变事件:在窗口的 SizeChanged 事件中编写代码,根据窗口的大小变化,调整控件的位置和大小来实现自适应分辨率。 5. 使用 VisualStateManager:通过使用 VisualStateManager,可以在不同的状态下应用不同的布局。根据窗口大小或其他条件,设置不同的视觉状态,在不同的状态下使用不同的布局。 6. 使用分辨率相关信息:可以通过 System.Windows.Forms.Screen 类获取当前屏幕的分辨率信息,并根据该信息调整控件的布局和大小。 综上所述,以上是一些常用的方法来实现 C# WPF 页面的自适应分辨率。根据具体的需求和场景,可以选择适合的方法来实现页面的自适应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值