我可以指定collectionView中每个元素的宽度和高度吗?

时间:2019-11-06 08:23:18

标签: xamarin.forms

我知道我可以指定ItemsSpacing来设置每个元素的空间

但是我找不到属性来指定元素的高度和宽度

我必须为每个元素设置宽度值吗?

我希望每个元素都具有相同的大小。

1 个答案:

答案 0 :(得分:1)

如果要将 DataTemplate 设置为相同的大小。您无需设置每个元素的值。您可以使用数据绑定并在后面的代码或ViewModel中设置高度和宽度。

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Name="contentPage"   // set the name of the contentpage
             x:Class="xxx.MainPage">
<DataTemplate>
   <Frame WidthRequest="{Binding Source={x:Reference contentPage}, Path=BindingContext.FrameWidth}" HeightRequest="{Binding Source={x:Reference contentPage}, Path=BindingContext.FrameHeight}"  HorizontalOptions="FillAndExpand">


   </Frame>
</DataTemplate>

在后面的代码中

public double FrameHeight { get; private set; }
public double FrameWidth { get; private set; }

//...

FrameHeight = xxx;
FrameWidth = xxx;

如果您只想设置控件的大小(如按钮或标签),这里有一个类似的thread也许可以为您提供帮助。