【问题标题】:How to set width as a percentage of the parent in XAML如何在 XAML 中将宽度设置为父级的百分比
【发布时间】:2022-11-07 21:21:29
【问题描述】:

如何将视图的宽度设置为父视图的百分比?我试过WidthRequest=0.2*,但这似乎只适用于网格。有没有办法为任何其他视图进行类似的设置,或者我唯一的选择是以编程方式设置它?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="SnipSnip.SnippetsPage"
             Title="SnippetsPage">
    <AbsoluteLayout>
        <ListView x:Name="SnippetsListView">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <TextCell Text="{Binding Name}" />
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
        <Editor/>
    </AbsoluteLayout>
</ContentPage>

在此示例中,我希望 ListView 的宽度为 0.2*,Editor 的宽度为 0.8*

谢谢

【问题讨论】:

  • 如果你问我,网格是正确的方式。我一直在使用它们,并且没有发现任何问题(性能或其他问题)。您对使用网格有任何顾虑吗?
  • 我只是好奇是否可以仅使用 XAML 来做到这一点,而不必编写一种方法来做到这一点。最后我确实使用了网格,但遗憾的是它不能在任何视图上仅使用 XAML 来完成..
  • 为什么一定要编码?在 XAML 中定义您的 Grid,设置列/行定义,然后您就完成了。我从不(几乎)编写与我的视图相关的代码。如果某些事情不能在 XAML 中完成,那么根本不值得去做。这就是我的哲学。

标签: xaml maui


【解决方案1】:

我也认为你应该只使用网格。 AbsoluteLayout 就是它所说的:它是绝对的。没有办法让它自动使用它所拥有的空间的一半或类似的东西。这就是网格的用途。

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 1970-01-01
    • 2013-03-24
    • 2012-02-05
    • 2011-03-02
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多