【问题标题】:Changing size of the frame and elements in UWP在 UWP 中更改框架和元素的大小
【发布时间】:2016-06-13 16:20:38
【问题描述】:

我想知道当窗口大小发生变化时,是否有办法调整框架及其内部元素的大小。我总是希望框架内元素的大小具有相同的比例。

例子:

1- Windowsize = 100(in x) 和 Imagesize = 50(in x) locationx = 25

2- Windowsize = 50(in x) 和 Imagesize = 25(in x) 位置 x = 12.5(~12)

在这种情况下,windowsize 是“something”,imagesize 是“something”的 1/2,图像的 locationx 是 something 的 1/4。我不想做这样的事情,而是在框架内的每个元素。

谢谢!

【问题讨论】:

    标签: c# windows resize uwp uwp-xaml


    【解决方案1】:

    您可以使用 <ViewBox/> 控件来完成此操作。

    <Page>...
    <Grid>
        <ViewBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <StackPanel>
                <Button Content="test" HorizontalAlignment="Left"/>
                <TextBlock Text="some text"/>
            </StackPanel>
        </ViewBox>
    </Grid>
    </Page>
    

    在下面的示例中,ViewBox 被放置在 Grid 内,并在水平和垂直方向上进行拉伸,从而使其随着页面大小的调整而拉伸。

    参考文档here

    【讨论】:

    • 如果我理解,ViewBox 会调整单个子项的大小。为了解决 OP 的问题,这个孩子必须是一个化合物(可能是 Panel 实现之一)。如果它提供了一个小的 XAML sn-p,它概述了如何设置孩子,这个答案会更完整。
    • 但不要改变元素大小
    • @IInspectable,是的,您可以将它们放在网格或您需要的任何其他面板中。
    • @Onelio 我不明白你的评论。你需要他们调整大小吗?
    • 是的,我需要像文本块一样调整窗口及其内部元素的大小,使其更小
    猜你喜欢
    • 2019-04-04
    • 2015-06-16
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多