制作全屏 WPF 应用程序的最佳方法

发布于 2024-11-08 06:32:57 字数 205 浏览 0 评论 0原文

我正在 WPF 中创建一个全屏应用程序,我需要选择如何实际调整内容大小以使用屏幕上的所有可用空间。

据我所知,有两种解决方案:

  • 具有星形尺寸的网格
  • ViewBox 包装器

我认为它们都可以完成这项工作,但根据应用程序,其中一个比另一个更好:何时应该使用网格方法?那么viewbox方法什么时候可以接受呢?

I'm creating a full-screen application in WPF and i need to choose how to actually resize the contents to use all the available space on the screen.

As far as i know, there are 2 solutions:

  • Grids with stars-dimensions
  • ViewBox wrapper

I think they both do the job but depending on the application one is better than the other: when should the grid approach be used? And when the viewbox method is acceptable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情归归情 2024-11-15 06:32:57

网格总是比 ViewBox 为您提供更多的灵活性,如果您希望应用程序的某些组件具有固定的高度/宽度怎么办?例如,Visual Studio 侧面的面板不会随着应用程序窗口大小的变化而改变大小。

A Grid is always going to give you more flexibility than a ViewBox, what if you want some components of your application to have fixed heights / widths? For example the panels at the side of visual studio do not change in size as the application window size changes.

情定在深秋 2024-11-15 06:32:57

我会做一些实验:

我同意 ColineE 和 karam:

使用星形作为列宽和行创建网格以帮助布局程序。

然后将需要缩放的特定项目包装在视图框中。

所以,我猜这个答案是 1/2 的总和。

检查这个示例代码看看我的意思......

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>


<TextBlock Grid.Column ="0"  Text="Left"/>

    <Viewbox Grid.Column ="1" >
        <TextBlock  Text="Right"/>
    </Viewbox>
</Grid>

I'd do some experimentation:

I agree with ColineE and karam:

Create a Grid using Stars for columnwidths and rows to help layout the program.

Then wrap the specific items you need to scale in viewboxes.

So, I guess this answer is 1/2 combined.

Check this sample code to see what I mean...

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>


<TextBlock Grid.Column ="0"  Text="Left"/>

    <Viewbox Grid.Column ="1" >
        <TextBlock  Text="Right"/>
    </Viewbox>
</Grid>

昔梦 2024-11-15 06:32:57

您无法使用网格和星形尺寸进行缩放。 ViewBox 可以缩放其内容。

You cannot zoom with Grids and star dimensions. ViewBox can scale its content.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文